<asp:TemplateField HeaderText="Company Membership">
<ItemTemplate>
<asp:DropDownList id="ddlCompanyMembership" runat="server" class="form-control" onchange="verifyUser('<%# ((DataRowView)Container.DataItem)["CCMP_CODE"].ToString() %>');" />
</ItemTemplate>
</asp:TemplateField>
我似乎不能正确地构建这个。它应该调用一个Javascript函数并将值传递给函数。但它显示了Server tag not well formed
误差。
我试着寻找解决方案,有人说引号和双引号确实很重要。但我什么都试过了,都没用。
你可以考虑通过处理GridView的RowDataBound事件在服务器端绑定onchange事件。您可以按如下方式绑定您的事件,我认为这样更方便。
void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// Find your drop down list
DropDownList ddl = (DropDownList)e.Row.FindControl("ddlCompanyMembership");
// Add onchange event as attribute
ddl.Attributes["onchange"] = "verifyUser('your logic');";
}
}
onchange="verifyUser('<%# DataBinder.Eval(Container.DataItem, "CCMP_CODE").ToString()%>');"
上面的代码可以帮助你使它工作