如何在更改事件下拉列表中访问HiddenField值



如何从下拉列表onchange事件访问gridview itemtemplate hiddenfield值?基本上,如果你看到下面我调用ConfirmStatus下拉列表值的变化,我需要传递隐藏字段的值给那个方法。

<asp:TemplateField Visible="true" HeaderText="Status" >
  <ItemTemplate>
   <asp:DropDownList ID="ddlTransactionList"  Visible = "False" AutoPostBack="True"  OnSelectedIndexChanged="ddlTransactionList_SelectedIndexChanged" 
       onchange=" if(ConfirmStatus(this)!=1){ return false;}"
                              runat="server"/>
   <asp:Label runat="server" ID="lblStatus"  Visible="True" Text='<%# ShowStatus( Container.DataItem ) %>' />
   <input id="hiddenOriginalStatus" type="hidden" runat="server" />
</ItemTemplate>
</asp:TemplateField>

我宁愿从后面的代码触发onchange,因为这是您分配和拥有所有值的地方。

 protected void gridview1_DataBound(object sender, GridViewRowEventArgs e)
 {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
          HiddenField hiddenOriginalStatus = (HiddenField)e.Row.FindControl("hiddenOriginalStatus");
          (e.Row.FindControl("ddlTransactionList") as DropDownList).Attributes.Add("onchange", "ConfirmStatus('" + hiddenOriginalStatus.Value + "');");
      }
 }

最新更新