我要取得HTML里的body里的代码.然后以文本形式输出.
我在HTML里定义了一个div,在后台提取时说那里面的内容不是文本.不可以直接用.
如何可以在前台写代码输出得到的值也可以.
在后台不能用document,是需要引用什么吗?

解决方案 »

  1.   

    runat="server" 后可以直接div.InnerHtml还可以通过Request.From["div的id"]
      

  2.   

    不好用啊。直接用request.from("divHtml") 取出来的值是空的.
      

  3.   

    我提取时说
    无法获取 divHtml 的内部内容,因为该内容不是文本
      

  4.   

    如何用 hidden?  给个简单的使用代码好吗?
      

  5.   

    <input type="hidden" id="h" name="h" runat="server" />form_onsubmit()
    {
        document.all.h.value = document.all.div.innerHtml;
    }// 以下是后台代码
    string s = this.h.Value;// 请注意,以上代码可能出现服务器验证失败,原因是默认情况下.net不允许直接提交html脚本,这是处于安全考虑。
      

  6.   

    所以建议你在赋值前,首先对你的div的innerHtml进行编码,或者禁用页面的服务器验证。
      

  7.   

    .aspx
    -----
    <div><%=content%></div>.aspx.cs
    --------
    protected(or public) string content;
    private void page_load
    {
    content = "div li yao shu chu de nei rong";
    }
      

  8.   

    aspx页面
    <div id="Div1" runat="server">abc</div>aspx.cs页面
    Response.Write(Div1.InnerHTML);
    //输出abc
      

  9.   

    form_onsubmit()
    {
        document.all.h.value = document.all.div.innerHtml;
    }为什么我document.all里没有H?
      

  10.   

    直接h.value是有的.就是document.all.h.value没有.
    不过怎么写在后台都提不到值
      

  11.   

    <input type="hidden" id="h" name="h" runat="server" /> 这句话你加了没有?
      

  12.   

    当然,如果<input type="hidden" id="h" name="h" runat="server" />放在了页面中的模板中了,或者作为了其他控件(比如Panel)的子控件了,那么通过h是访问不到,此时你必须通过后台服务器代码中的this.h.ClientID作为客户端的document.all.[h.ClientID]中的[h.ClientID]。
    当然你还可以通过ClientScript在服务器端注册这个id为“h”的hidden,然后通过服务器端的this.Request["h"]在服务器端访问这个值。