mvc3,从Razor Views中的下拉列表中获取名称和值?

时间:2013-03-01 12:16:05

标签: asp.net-mvc-3 razor

我想从MVC3 Razor View的下拉列表框中获取“名称”和“值”。请问最好的方法是什么?

Razor Code:

        <div class="editor-label">
             @Html.LabelFor(model => model.Occupation)
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(model => model.Occupation.PK, Model.GetLUV("Occupation",Model.Occupation.PK))
         </div>

结果HTML:

        <div class="editor-label">
             <label for="Occupation">Occupation</label>
        </div>
        <div class="editor-field">

            <select id="Occupation_PK" name="Occupation.PK"><option value="17">IT</option>
              <option value="18">Accountant</option>
              <option selected="selected" value="19">Solicitor</option>
            </select>
            <span class="field-validation-valid" data-valmsg-for="Occupation" data-valmsg- replace="true"></span>
        </div>

IE我想存储PK = 17和占用=“IT”,而不仅仅是PK = 17。我坚持使用XML。

我最初的想法是添加一个隐藏字段,然后使用某种形式的javascript在运行时填充它。我相信我需要额外的字段来确保模型化可以选择它来填充XML。

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

下拉内容可由恶意用户在其浏览器上编辑,允许他们存储他们在数据库中喜欢的任何职业值。这是不可取的。

您可能希望在回发表单时在服务器端执行查找。查找服务将采用id(在这种情况下为17)并返回一个字符串('IT')。然后用户无法恶意使用该值。