【问题标题】:Html select dropdown list - how to choose the selected value from server codeHtml 选择下拉列表 - 如何从服务器代码中选择选定的值
【发布时间】:2011-10-07 04:21:02
【问题描述】:

我有一个国家的选择列表,我有一个助手可以轻松地以任何形式包含在内。 (删除大多数选项以使其简短)。

我将当前选择的值存储在数据库中,例如“CA”。在将列表呈现给用户之前,如何将 selected="true" 设置为选项 CA?

@helper StateSelect(string name = "State")
    {
    <select name="@name" id="@name" class="required">
        <option value="">-- Select -- </option>
        <option value="AK">Alaska</option>
        <option value="AL">Alabama</option>
        <option value="AR">Arkansas</option>
        <option value="AZ">Arizona</option>
        <option value="CA">California</option>
        <option value="CO">Colorado</option>
        <option value="CT">Connecticut</option>
        <option value="VA">Virginia</option>
        <option value="VT">Vermont</option>
        <option value="WA">Washington</option>
        <option value="WV">West Virginia</option>
        <option value="WI">Wisconsin</option>
        <option value="WY">Wyoming</option>
    </select>
}

【问题讨论】:

  • 有什么理由要重新发明轮子而不是使用 DropDownListFor 帮助器来生成下拉列表?
  • 不是关于重新发明轮子,更多的是关于使用我已经拥有的旧代码。我有一些我已经拥有的选择列表,不想手动坐下来将它们全部转换为 ENUM

标签: asp.net-mvc-3 razor


【解决方案1】:

正如 Darin Dimitrov 所说,内置的东西会更好。但是,如果您确实需要,我认为您有几个选择:

  1. 将这样的代码添加到每一行:
    • &lt;option value="CA" @(name == "CT" ? "selected=selected" : "")&gt; Connecticut&lt;/option&gt;
  2. 只需将所选项目重新添加到列表顶部
    • 这样可以保持代码更简洁,所选选项只是在顶部重复(并在此处选择),在整个列表之前

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 2017-01-11
    相关资源
    最近更新 更多