我想从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。
非常感谢提前。
答案 0 :(得分:1)
下拉内容可由恶意用户在其浏览器上编辑,允许他们存储他们在数据库中喜欢的任何职业值。这是不可取的。
您可能希望在回发表单时在服务器端执行查找。查找服务将采用id(在这种情况下为17)并返回一个字符串('IT')。然后用户无法恶意使用该值。