【问题标题】:How to define the selected value for this?如何为此定义选定的值?
【发布时间】:2010-09-23 01:36:35
【问题描述】:
<select name="MessageType"  style="width: 151px">
    <option value="P">P - Proprietary</option>
    <option value="B">B - BCBSA</option>
    <option value="S">S - Place Specific</option>
</select> 

如何设置这个下拉列表框的选中值?

&lt;%=p.MessageType%&gt;.. 这是我从数据库中获取的值,因此在我的网格中,无论来自数据库的值如何,它将显示在网格的下拉列表框中,现在它显示为默认值 P,甚至数据库值 B

谢谢

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    我建议您使用标准 HTML 帮助方法 (Html.DropDownListFor) 来生成 select 字段。

    <%= Html.DropDownListFor(x => x.MessageType, new SelectList(new[] {
        new { Id = "P", Value = "P - Proprietary" },
        new { Id = "B", Value = "B - BCBSA" },
        new { Id = "S", Value = "S - Place Specific" },
    }, "Id", "Value"), new { style = "width: 151px" }) %>
    

    然后只需将您的视图模型上的MessageType 属性设置为任何可能的值(P、B、S),其余的将由助手处理。

    【讨论】:

    • 是的,但我正在硬编码下拉列表值.. 在这种情况下?
    • @kumar:您可以向他们提供您的模型,该模型将填入DropDownListFor()
    • 我无法在下拉列表框中显示数据库值
    • 无法正常工作并不是一个非常精确的问题描述,至少不能让我们为您提供很多帮助。
    【解决方案2】:

    快速而肮脏的方式:

    <select name="MessageType"  style="width: 151px">
        <option value="P"<%=p.MessageType == "P" ? "selected=\"selected\"" : "" %>>P - Proprietary</option>
        <option value="B"<%=p.MessageType == "B" ? "selected=\"selected\"" : "" %>>B - BCBSA</option>
        <option value="S"<%=p.MessageType == "S" ? "selected=\"selected\"" : "" %>>S - Place Specific</option>
    </select> 
    

    【讨论】:

    • 感谢猎人.. 如果我尝试您的代码,我收到此错误消息无法将 lambda 表达式转换为类型“System.Collections.Generic.IEnumerable”,因为它不是委托类型请帮我解决这个问题
    • 我认为您需要发布更多内容。我假设p 是一些局部变量。 p 是什么?
    • P 是一些值.. 这是消息类型.. P B S 是消息类型。
    【解决方案3】:

    对于example,试试:

    <option selected="selected">
    

    Thisthis 可能会有所帮助。

    【讨论】:

      【解决方案4】:

      在您的视图模型中,您可以拥有一个包含完整 MessageType 集合的对象,然后将您的 DDL 命名为主 Message 表的外键,从而允许它利用内置绑定。

      <select name="Message.TypeId" id="Message_TypeId"  style="width: 151px">
          <option value="P">P - Proprietary</option>
          <option value="B">B - BCBSA</option>
          <option value="S">S - Place Specific</option>
      </select>
      

      假设你的模型包含一个消息对象,

      Model.Message.TypeId 将对应并突出显示相应的 DDL 选项。

      【讨论】:

        【解决方案5】:

        首先,这是一个标准的 HTML 下拉菜单。如果您想将其作为 .NET 对象使用,它需要是一个 asp:DropDownList,然后您可以使用 SelectedItem 或 SelectedValue 访问选择。

        对于 HTML 下拉菜单,只需将“selected”属性添加到您希望将其指定为初始选择值的选项元素。

        【讨论】:

        • -1:这是 MVC 而不是 WebForms:不惜一切代价避免使用 Asp.net WebForms 服务器控件。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        • 2013-11-28
        • 2017-03-18
        • 2021-08-17
        • 2020-02-21
        相关资源
        最近更新 更多