Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.5k views
in Technique[技术] by (71.8m points)

c# - How to get current row textbox value on button click but NOT in code-behind

Hi I have the following TextBox:

<asp:TemplateField HeaderText="Email">
  <EditItemTemplate>
      <asp:TextBox ID="txt_email" runat="server" Text='<%#Eval("usr_email") %>' class="custom-table-text"></asp:TextBox>
   </EditItemTemplate>
 </asp:TemplateField>

If I need to get Evaldb value I can simply do either:

<asp:LinkButton.... OnClientClick='<%# "ValidateEmail("" + Eval("usr_email") + ""); return false;" %>'
<asp:LinkButton.... OnClientClick='<%# "ValidateEmail("" + DataBinder.Eval(Container.DataItem, "usr_email") + ""); return false;" %>'

But how to get the value of current textbox (current row):

  • inside LinkButton OnClientClick.
  • before postback (client-sidewithout postback ot in code-behind).

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I found it in case anyone finds it useful or has any comment:

OnClientClick='<%# String.Format("return ValidateEmail({0}.value)", (((GridViewRow)Container).FindControl("txt_email") as TextBox).ClientID) %>'

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...