在GridView TemplateField内部我有一个HTML-TextArea:
<asp:TemplateField HeaderText="Message">
<ItemTemplate>
<textarea id="txtArStatusMsg" cols="20" rows="2" style="width: 99%"></textarea>
</ItemTemplate>
</asp:TemplateField>
问:如何阅读GridView选定行中文本区域的文本?
答案 0 :(得分:2)
将runat="server"
添加到textarea并在GridView的SelectedRow上调用FindControl("txtArStatusMsg")
。
要获取TextAreas
的文字,您需要将其投放到HtmlTextArea并阅读Value属性。
var text = ((HtmlTextArea)GridView1.SelectedRow.FindControl("txtArStatusMsg")).Value;
答案 1 :(得分:1)
在您不添加<input/>
属性之前,您无法在服务器端使用/访问html runat="server"
标记。最好使用TextBox并设置TextMode = Multiline。
<asp:TemplateField HeaderText="Message">
<ItemTemplate>
<textarea
id="txtArStatusMsg"
cols="20" rows="2"
runat="server"
style="width: 99%">
</textarea>
</ItemTemplate>
</asp:TemplateField>
OR
<asp:TemplateField HeaderText="Message">
<ItemTemplate>
<asp:TextBox id="txt1" runat="server" TextMode="Multiline"/>
<asp:Button id="btn1" runat="server" CommandName="select"/>
</ItemTemplate>
</asp:TemplateField>
在GridView的SelectedIndexChanged
处理程序
//Cells[0] - 0 indicates the 1st cell of selected row.
TextBox tx=GridView1.SelectedRow.Cells[0].FindControl("txt1") as TextBox;