求助:现在做一个留言本,在ASP.NET里用到Repeater控件,用于循环读取留言的内容,里面包含有一个div,里面含有一个文本框用于管理员写回复信息的,默认情况下这个div是隐藏的。当管理员点击回复留言的时候这个div才显示出来。现在我怎么在后台获取这个div里面的文本框的值写进数据库呢?
<asp:Repeater ID="Rep" runat="server">
<ItemTemplate>
<table border="1" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td id="Right_img" width="25%" align="center" valign="top" rowspan="3">
<br />
<%# " <img src=" + "../image/head/" + DataBinder.Eval(Container.DataItem,"HeadImage") + ".gif" + ">" %>
<br />
<br />
<br />
<%# DataBinder.Eval(Container.DataItem, "Name") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "GuessDate") %>
</td>
<td id="Right_Top" height="22" align="center">
留言标题: <%# DataBinder.Eval(Container.DataItem, "Title") %>
</td>
</tr>
<tr>
<td valign="top" align="left" style="padding-top:15px;padding-bottom:25px;">
<br />
<%# DataBinder.Eval(Container.DataItem, "Content") %>
<br />
<br />
<%# DataBinder.Eval(Container.DataItem, "Reply") %>
<%# DataBinder.Eval(Container.DataItem, "RDate") %>
<br />
<div id=' <%#"Reply" + DataBinder.Eval(Container.DataItem, "ID") %>' style="display:none;">
<asp:TextBox ID="ReplyContent" runat="server" Height="53px" Width="343px"> </asp:TextBox>
<br />
<asp:LinkButton ID="Button1" runat="server" OnClientClick="return IfRepNull()" CommandArgument= ' <%# DataBinder.Eval(Container.DataItem,"ID") %>' OnCommand="RepButton_Click" >回复 </asp:LinkButton>
<asp:Button ID="Button2" runat="server" Text="取消" />
</div>
</td>
</tr>
<tr id="Right_Bottom" valign="middle">
<td height="22" valign="middle">
参考思路。
asp.net页面控件,最终还是要转换为html控件,理解其机制就好操作了。
1.首先要知道你留言内容控件的ID,或者Name,你这里使用的是asp.net的控件,
<asp:TextBox ID="ReplyContent" runat="server" Height="53px" Width="343px"> </asp:TextBox>
,你可以运行代码,页面加载完毕后,查看页面源码,找到这个html控件的ID,这个是asp.net的控件的客户端ID.
2.在页面的后台代码里,使用
string str=Request.Form["txtName"]; //注意大小写
获取控件的输入内容即可。记住页面是post方式提交。
尝试一下。希望对你有所帮助~
rowbound时findcontrol