如何从dropdownlist onchange事件中访问gridview itemtemplate hiddenfield值?基本上,如果您在下面看到我在下拉列表值更改时调用ConfirmStatus,我需要将hiddenfield值传递给该方法。
<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>
答案 0 :(得分:0)
我宁愿从后面的代码中触发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 + "');");
}
}