前台有一个Div,id="CardDiv" runat="server";
然后我在后台string cardcontent=CardDiv.innerHTML;会出错,提示:无法获取 CardDiv 的内部内容,因为该内容不是文本。
为什么会这样?正确的写法是什么?还有请讲一下为什么这样会出错呢?
然后我在后台string cardcontent=CardDiv.innerHTML;会出错,提示:无法获取 CardDiv 的内部内容,因为该内容不是文本。
为什么会这样?正确的写法是什么?还有请讲一下为什么这样会出错呢?
解决方案 »
- String与string 的区别…………
- 我很痛苦,高手来帮我看看怎么写才能实现功能
- 我看电子货币
- C#操作Excel时,单元格自动填充(AutoFill)的问题
- 求教,怎么开源???
- catch (Exception e)报警告!
- 我想根据模办生成html页面,总是不成功,可能是编码的问题
- 请教一个简单的小问题,您不要笑话我哟?
- 求助:抓取代理IP的代码
- 请教高手关于ASP.NET如何写监听队列线程?
- C# ASP。net在网页 中怎么打开一个对话框,获得一个文件的全路径,是如 f:\\backup\\backup.txt 这样的全路径。 在线===
- 判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str=="";b、str==String.Empty;c、str.Length==0;?请问原因是什么??
<div id="CardDiv" runat="server">
<table>
<tr>
<td>
ssssssssss
</td>
</tr>
</table>
</div>但是如果是这样的话就会出错:
<div id="CardDiv" runat="server">
<table id="table1" runat="server">
<tr>
<td>
ssssssssss
</td>
</tr>
</table>
</div>你可以试一下看看
好像是大写的InnerHtml
如果我现在要将DIV中的这些东西取出来,是不是没有办法?
我现在就是想把DIV中的这些HTML代码取出来.有方法吗?
System.IO.StringWriter sw = new System.IO.StringWriter(strb);
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
CardDiv.RenderControl(htw);//-------------------------注册此外,CardDiv为你要转出的HTML代的对像(或控件)
/////还有一点,如果你已经知道CardDiv的ID,可以后台外,用findcoutrol(id),返回关后ID为你要查的ID对像(或控件),然后与上面那行一样用,即可,
/////特别注意,代码大体是这样,现在发贴是在外面上网时发的,代码可能写错,但你看得明白意思就可以自己做,...........代码有任何问题,本人不做任何解析..呵呵..
string s = strb.ToString();
return s;
中的注册改为"注意".特此鉴定..哈哈
现在我得出的结论是:
1)
前台:
<div id="CardDiv" runat="server">
<table id="table1" runat="server">
<tr>
<td>
内容....
</td>
</tr>
</table>
</div> 后台:
string cardcontent=CardDiv.innerHTML;
会出错,提示:无法获取 CardDiv 的内部内容2)
<div id="CardDiv" runat="server">
<table id="table1">
<tr>
<td>
内容:<%=后台变量%>
</td>
</tr>
</table>
</div>
string cardcontent=CardDiv.innerHTML;
CardDiv.innerHTML得到的值为空;3)
<div id="CardDiv">
<table>
<tr>
<td>
内容
</td>
</tr>
</table>
</div>
string cardcontent=CardDiv.innerHTML;
可以得到内容似乎是前台用到了后台的某些东西后,格式会改变,所以后台取值的时候会出问题...这个需要怎么解决啊??
前台:<body>
<form id="form1" runat="server">
<div>
<div id="CardDiv" runat="server">
<table id="table1" runat="server">
<tr>
<td>
内容....
</td>
</tr>
</table>
</div>
</div>
</form>
</body>
后台:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Text.StringBuilder strb = new System.Text.StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(strb);
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
CardDiv.RenderControl(htw); string str = strb.ToString();///------------------------------------此处已成功获取CardDiv内的,信息 htw.Close();
sw.Close();
}
}不行再找我Q:214958266
第一种:假设前台元素为:<P id="inputmessage" runat="server"></P>获取:
System.Text.StringBuilder strb = new System.Text.StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(strb);
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
inputmessage.RenderControl(htw);
string str = strb.ToString();//--------------------------->>此处获取值//str的值就是元素inputmessage的值设置:
inputmessage.InnerHtml="<br><br>inputmessage已付值";//--------------------------->>此处付值
第二种:假设前台元素为:<P id="inputmessage" runat="server"></P>获取:System.Web.UI.HtmlControls.HtmlGenericControl T;
T=(HtmlGenericControl)this.Page.FindControl("inputmessage");
string str =T.InnerHtml;//--------------------------->>此处获取值//str的值就是元素inputmessage的值设置:
System.Web.UI.HtmlControls.HtmlGenericControl T;
T=(HtmlGenericControl)this.Page.FindControl("inputmessage");
T.InnerHtml="<br><br>inputmessage已付值";//--------------------------->>此处付值