如何在gridview中获取文本框的值

我的GridView有一个包含ItemTemplateContentTemplateItemTemplatetextboxbutton

这是代码的一个片段:

    <asp:TextBox runat="server" ID="txtEmail" Text='' />    

我正在做的是调用ValidateEmail()方法来validation我的电子邮件字段。 为此,我需要获取电子邮件字段值来validation它。

这是我的ValidateEmail()方法:

  function ValidateEmail(btnObj) { alert(btnObj.id); var email = $(btnObj).closest('input').attr('id'); alert(email) return false; } 

我能够为我的按钮获取id ,即MainContent_GridView1_btnUpdate_0

这是我为GridView呈现的html:

 
Customer IDFirst NameLast NameCityEmail
12 Anders Rohansen Takoma Park Must enter Email Address
8 Deborah Damien Fresno Must enter Email Address
7 Derek Chaddick Fairfield Must enter Email Address

如何获取电子邮件文本框的ID?

谢谢

  function ValidateEmail(btnObj) { alert(btnObj.id); var email = $(btnObj).siblings('input:text').attr('id'); alert(email); return false; } 

这将使用您的JavaScript解决方案返回文本输入的ID。

使用一些代码的工作示例 。

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if(e.Row.RowType == DataControlRowType.DataRow) { TextBox txtEmail= e.Row.FindControl("yourEmailTextBox") as TextBox; txtEmaill.AddAtrribute("blur",'ValidateEmail(this)'); } } 

这应该够了,你也可以阅读这篇文章