首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Html.EditorForModel()下拉

@Html.EditorForModel()下拉
EN

Stack Overflow用户
提问于 2013-07-20 08:21:53
回答 2查看 4.1K关注 0票数 1

我正在处理MVC4using @Html.EditorForModel(),它将dropdownlist显示为文本框,我希望通过设置任何attribute和重写模板来显示Dropdown列表。请与我分享MVC4的例子。

代码语言:javascript
复制
@model Models.Employee

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>Employee</legend>
        @Html.EditorForModel()
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-20 08:59:03

您可以定义表示下拉列表的视图模型:

代码语言:javascript
复制
public class ItemsViewModel
{
    public string SelectedValue { get; set; }

    public IEnumerable<SelectListItem> Values { get; set; }
}

它将用于您的主视图模型中:

代码语言:javascript
复制
public class MyViewModel
{
    public ItemsViewModel DropDown1 { get; set; }
    public ItemsViewModel DropDown2 { get; set; }
    ...
}

现在剩下的就是为ItemsViewModel编写一个自定义编辑器模板,这个模板应该放在~/Views/Shared/EditorTemplates/ItemsViewModel.cshtml中。请注意,模板的名称和位置非常重要:

代码语言:javascript
复制
@model ItemViewModel
@Html.DropDownListFor(x => x.SelectedValue, Model.Values)

这差不多就是全部了。

票数 4
EN

Stack Overflow用户

发布于 2013-07-20 08:27:37

它是最重要的模板吗?您可以使用@Html.DropDownList()助手。

有一个关于如何在asp.net网站中使用的完整示例,您可以下载该项目:这里

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17760271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档