带有 SumoSelect 的 ASP.Net Web 表单

Posted

技术标签:

【中文标题】带有 SumoSelect 的 ASP.Net Web 表单【英文标题】:ASP.Net Webforms with SumoSelect 【发布时间】:2019-03-16 01:16:26 【问题描述】:

在“Page_Load”上,我用我的数据源填充 DropDownList:

lstBoxGrupAcessID.DataTextField = "Description";
lstBoxGrupAcessID.DataValueField = "ID";
lstBoxGrupAcessID.DataSource = new BLLCompany().SelectLstGroupBox(objCompany.CompanyID);
lstBoxGrupAcessID.DataBind();

在此之后,我需要设置 lstBoxGrupAcess 与一些预先选择的项目(特定于每个公司)(仅作为示例,我将选择 lstBoxGrupAcessID 上的所有项目)

foreach (ListItem itm in lstBoxGrupAcessID.Items)
    itm.Selected = true;

当我执行页面时,我得到了这个错误:

Cannot have multiple items selected in a DropDownList.

SumoSelect 在我的代码中的初始化是:

<script>
    $(document).ready(function () 
        var list = $('#<%=lstBoxGrupAcessID.CompanyID%>');

        list.SumoSelect(
            selectAll: false
        );
    );

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args) 
        var list = $('#<%=lstBoxGrupAcessID.CompanyID%>');

        list.SumoSelect(
            selectAll: false
        );
    
</script>

我的 DropDownList 的声明是:

<asp:DropDownList ID="lstBoxGrupAcessID" runat="server" multiple="multiple" CssClass="form-control"></asp:DropDownList>

【问题讨论】:

【参考方案1】:

您必须使用 asp:ListBox 来选择多个项目,而不是 Dropdown

【讨论】:

以上是关于带有 SumoSelect 的 ASP.Net Web 表单的主要内容,如果未能解决你的问题,请参考以下文章

如何在确认框的取消事件后强制 asp.net 列表框保留选定的值?

sumoselect 多个下拉列表在页面加载时闪烁

具有固定 URI 的 ASP.NET 路由不映射查询字符串参数

发布 ASP.NET 核心应用程序:命令“npm install”退出,代码为 9009

ASP.NET MVC 中的 AntiForgeryToken 是不是可以防止所有 CSRF 攻击?

带有 Web 窗体的 ASP.NET 路由