[英]Asp.net gridview
我在gridview中有一个文本框。 我需要在javascript中获取文本框的ID。 当我这样使用'<%= txtNewQty.ClientID%>'; 它给出了编译错误。
Gridviews内部的控件不是Page的成员,它们仅存在于.aspx中。 它们将在每一行中重复,因此它们是动态创建的。
要在Gridview的一行中获取控件的引用,可以使用FindControl
foreach(GridViewRow row in gridview.Rows)
{
Textbox tb = row.FindControl("txtNewQtv") as Textbox;
string id = tb.ClientID;
//Generate your javascript here so it can be callable on the client
}
txtNewQty
在页面级别不存在,因此您将无法以这种方式引用它。 您将必须执行一些操作,例如在服务器端生成js或从gridview元素向下进行操作。 发布一些代码以及您想要发生的事情的描述。
这是一种不好的方法,因为它被硬编码到列索引中。 它可以工作,但是必须有使用jQuery的更好方法。 不幸的是,我不是那个专家。
<script type="text/javascript">
function Update(btn) {
alert(btn.parentNode.parentNode.children[0].children[0].id);
}
</script>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtNewQtv" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<input type="button" onclick="Update(this)" value="Update" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.