Asp.net mvc 3 大表单布局

Asp.net mvc 3 大表单布局,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我的应用程序中的表单包含10多个不同的字段(文本框,dropdoxnsets.)。还有很多像这样的复制粘贴片段: <div class="row"> <div class="span3"> @Html.LabelFor(model => model.FirstName) </div> <div> @Html.EditorFor(model => model.FirstName)

我的应用程序中的表单包含10多个不同的字段(文本框dropdoxnsets.)。还有很多像这样的复制粘贴片段:

<div class="row">
    <div class="span3">
        @Html.LabelFor(model => model.FirstName)
    </div>
    <div>
        @Html.EditorFor(model => model.FirstName)
    </div>
</div>

@LabelFor(model=>model.FirstName)
@EditorFor(model=>model.FirstName)
只有
EditorFor
是可更改的部分。标签和包装分区是相同的。

如何移动HTML的重复部分?我尝试了部分和编辑器,但不知道如何在第二个div中指定通用编辑器,因为它也可以是下拉列表、复选框等。

您可以在视图中创建下拉列表,并通过执行以下操作将类似MyFirstNameList的下拉列表添加到控制器中的W视图模型中

using System.Web.Mvc;

public class YourController
{    
        private yourdatacontext db = new yourdatacontext ();

        public ActionResult Create()
        {
            ViewModels.YourViewModel model = new ViewModels.YourViewModel ();

            model.MyFirstNameList = new SelectList(db.FirstNames, "Id", "Name");

            return View(model);
         }
}
然后你就可以在视图上这样做

@Html.DropDownListFor(model => m.FirstName, Model.MyFirstNameList, "--- Select a Name ----")