0

我在 asp.net 中编码,并添加了 html 选择控件,如下所示。我还需要对一些要预先选择的值进行数据绑定,我该怎么做?

<select multiple="true" runat="server" id="SelectControlID" 
    datasource='<%# GetItems(Convert.ToInt64(DataBinder.Eval(Container.DataItem, "ID"))) %>' 
    datatextfield='LocationName' datavaluefield='LocationID'>
</select>

请注意,我必须拥有 runat="Server" 因为我需要检索后面代码中的值。这意味着我不能执行以下形式的操作,因为 runat 服务器不允许这样做。

<asp:Repeater runat="server" DataSource='SOMETHING'>
    <ItemTemplate>
        <option <%# DataBinder.Eval(Container.DataItem, "SelectedHTML") %> 
                value='<%# DataBinder.Eval(Container.DataItem, "LocationID") %>'>
                <%# DataBinder.Eval(Container.DataItem, "LocationName") %>
        </option>
    </ItemTemplate>
</asp:Repeater>

最后,我的要求是一个下拉菜单,它允许多选项目并能够对预选项目进行数据绑定并在服务器端检索其值。我尝试使用上面的 select html 控件并使用jquery multiselect widget来执行此操作。请帮助我完成剩下的工作或提出一个简单的替代方案。

4

1 回答 1

0

我选择了 asp:repeater 选项并避免 runat="server" 而是这样做

Request.Form["SelectControlID"]

这让我可以访问选定的值,同时还可以在数据绑定上设置预选值。

请记住还要在选择控件上设置名称属性和 id,以便能够从请求表单中找到它。

于 2013-04-08T16:09:07.727 回答