首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么获取服务控件的内容代码

2012-05-03 
如何获取服务控件的内容代码有一个HtmlFormhtmlForm ,包含runatserver代码,如下红色代码所示,我想用 st

如何获取服务控件的内容代码
有一个HtmlForm htmlForm ,包含runat="server"代码,如下红色代码所示,我想用 string str=htmlForm.innerHtml取得代码文本。可是提示错误:“无法获取 innerHtml 的内部内容,因为该内容不是文本。”
 <form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" Height="641px" Width="511px"></asp:TextBox>
</div>
</form>

我用网上说的方法,StringBuilder sb = new StringBuilder(); 
    StringWriter sw = new StringWriter(sb); 
    HtmlTextWriter htw = new HtmlTextWriter(sw); 
    htmlForm .RenderControl(htw); 
然后调用Response.Write(sb.ToString());,得到的文本是下面兰色代码所示。可这并不是我想要的结果。我如何才能最得上面包含runat="server"代码(上面红色部分)
  <form name="form1" method="post" action="" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEzMzE5MDUyNjFkZFGxJW7d6YIoAtGbIeoc7bamtFmTjnBEeVp/LvrtDyoy" />
</div>

<div>
<input name="TextBox1" type="text" value="" id="TextBox1" />
</div>
</form>


[解决办法]
这个被编译到dll中了,哪里来的什么“上面包含runat="server"代码(上面红色部分)”啊?

如果想得到,你干脆把这个文件保存为资源文件然后读取文件好了。
[解决办法]
所谓“得到”,是服务器输出html流,还是客户端DOM操作?你能否说出来是哪一个阶段?
[解决办法]

探讨
有一个HtmlForm htmlForm ,包含runat="server"代码,如下红色代码所示,我想用 string

[解决办法]
你新建一个aspx页面不写任何东西
在Page_Load中遍历controls
C# code
 foreach (Control c in this.Controls)            {                if (c.ClientID == "form1")                {                    string text = (c as System.Web.UI.HtmlControls.HtmlForm).InnerHtml;                   //(c as System.Web.UI.HtmlControls.HtmlForm).InnerHtml="test";你也可以赋值。                    Response.Write(text);                    Response.End();                }            } 

热点排行