我想要网格视图标题模板文本框值。我编写用于获取价值的代码,但它返回null。
<asp:Button ID="btngetLocationDate" runat="server" Text="Get Filtered Data" OnClick="getTextBoxValue"></asp:Button>
<asp:TemplateField HeaderText="Mobile Number">
<HeaderTemplate>
Mobile Number:
<asp:TextBox ID="txtMobilenumber" runat="server" ></asp:TextBox>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblmobile" runat="server" Text='<%# Eval("Mobile Phone") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
然后在.cs后面的代码上我编写了该代码,但是它返回null
protected void getTextBoxValue(object sender, EventArgs e)
{
//TableCell cell1 = TrackerGrid.HeaderRow.Cells[0];
TextBox mobilenumber = (TrackerGrid.HeaderRow.FindControl("txtMobilenumber") as TextBox) ;
string mobile = mobilenumber.Text;
我该如何解决?请帮助我!
答案 0 :(得分:-1)
通过从页脚行获取文本框文本,我遇到了类似的问题。我不确定这是否是解决此问题的最佳方法,但是如果FindControl()成功分配了文本框,这应该可以工作。
TextBox mobilenumber = (TrackerGrid.HeaderRow.FindControl("txtMobilenumber") as TextBox);
string mobile = Request.Form[mobilenumber.UniqueID];
编辑:正如VDWWD所评论的那样,Request.Form是一种不好的做法。但是对于我的特殊用法,由于我的回发是无序的,因此我无法找到其他任何方法来从按钮单击的文本框中获取数据。