在 Gridview 中查找 Html 个输入
Find Html input inside a Gridview
我想在 Gridview
中找到 HTML 输入文本。
但是我收到一个错误。
错误
Object reference not set to an instance of an object.
源代码
<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="ID" ItemStyle-Width="2%">
<ItemTemplate>
<input id="txtNum" runat="server" value='<%#Eval("num") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码隐藏
HtmlInputText txt1 = (HtmlInputText)gridview1.FindControl("txtNum");
txt1.Attributes["type"] = "tel";
需要在 gridview 的每一行中找到 HtmlInputText
。
代码
if (gridview1.Rows.Count > 0)
{
for (int i = 0; i < gridview1.Rows.Count; i++)
{
HtmlInputControl txt1 = (HtmlInputControl)gridview1.Rows[i].Cells[0].FindControl("txtNum");
txt1.Attributes["type"] = "tel";
}
}
以后我是这样解决的:
---HTML 代码---
<asp:TemplateField Visible="False" ItemStyle-Width="100%">
<ItemTemplate>
<div class="input-group flex-nowrap">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">A</span>
</div>
<input id="txtMat" type="text" style="width: 100px;" class="form-control" runat="server" onkeypress="return isNumberKey(event);" data-toggle="tooltip" data-placement="top" placeholder="Matricula" aria-label="Matricula" aria-describedby="basic-addon1" onkeydown="limit(this, 8);" onkeyup="limit(this, 8);" min="8"/>
</div>
</ItemTemplate>
</asp:TemplateField> </strike>
---C# ----
// 我需要使用 griview 中的输入文本发送电子邮件。在输入文本中,我输入了电子邮件地址。
protected void GridView_Cat_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
HtmlInputText Matricula = GridView_Cat.Rows[e.RowIndex].FindControl("txtMat") as HtmlInputText;
String address= Matricula.Value;
}
您将需要:
using System.Web.UI.HtmlControls;
我想在 Gridview
中找到 HTML 输入文本。
但是我收到一个错误。
错误
Object reference not set to an instance of an object.
源代码
<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="ID" ItemStyle-Width="2%">
<ItemTemplate>
<input id="txtNum" runat="server" value='<%#Eval("num") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码隐藏
HtmlInputText txt1 = (HtmlInputText)gridview1.FindControl("txtNum");
txt1.Attributes["type"] = "tel";
需要在 gridview 的每一行中找到 HtmlInputText
。
代码
if (gridview1.Rows.Count > 0)
{
for (int i = 0; i < gridview1.Rows.Count; i++)
{
HtmlInputControl txt1 = (HtmlInputControl)gridview1.Rows[i].Cells[0].FindControl("txtNum");
txt1.Attributes["type"] = "tel";
}
}
以后我是这样解决的:
---HTML 代码---
<asp:TemplateField Visible="False" ItemStyle-Width="100%">
<ItemTemplate>
<div class="input-group flex-nowrap">
<div class="input-group-prepend">
<span class="input-group-text" id="addon-wrapping">A</span>
</div>
<input id="txtMat" type="text" style="width: 100px;" class="form-control" runat="server" onkeypress="return isNumberKey(event);" data-toggle="tooltip" data-placement="top" placeholder="Matricula" aria-label="Matricula" aria-describedby="basic-addon1" onkeydown="limit(this, 8);" onkeyup="limit(this, 8);" min="8"/>
</div>
</ItemTemplate>
</asp:TemplateField> </strike>
---C# ----
// 我需要使用 griview 中的输入文本发送电子邮件。在输入文本中,我输入了电子邮件地址。
protected void GridView_Cat_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
HtmlInputText Matricula = GridView_Cat.Rows[e.RowIndex].FindControl("txtMat") as HtmlInputText;
String address= Matricula.Value;
}
您将需要:
using System.Web.UI.HtmlControls;