服务器标签不适合ItemTemplate的ASP下拉列表

本文关键字:ASP 下拉列表 ItemTemplate 标签 不适合 服务器 | 更新日期: 2023-09-27 18:16:38

<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误差。

我试着寻找解决方案,有人说引号和双引号确实很重要。但我什么都试过了,都没用。

服务器标签不适合ItemTemplate的ASP下拉列表

你可以考虑通过处理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()%>');"
上面的

代码可以帮助你使它工作