A.创建Basic类型的项目.
B.在Model目录下,创建3个文件:
Role.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MvcEditorTemplatesTest.Models
{
public enum Role
{
Admin, User, Guest
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MvcEditorTemplatesTest.Models
{
public class Student
{
public int StudentId { get; set; }
public string Remark { get; set; }
public Role Role { get; set; }
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcEditorTemplatesTest.Models
{
public class Teacher
{
public int TeacherId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public Role Role { get; set; }
}
}
C.创建HomeControlller.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcEditorTemplatesTest.Models;
namespace MvcEditorTemplatesTest.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View(new Teacher());
}
public ActionResult Student()
{
return View(new Student());
}
}
}
D.创建View:
在Shared下面创建两个文件:
Role.cshtml:
@model MvcEditorTemplatesTest.Models.Role <div id="MyDDL"> @Html.DropDownListFor(m => m, new SelectList(Enum.GetNames(Model.GetType()), "Guest")) </div>String.cshtml:
@model System.String
@Html.TextBox("", "我来自自定义String Editor模板", new { style = "width:220px" })Index.cshtml:
@model MvcEditorTemplatesTest.Models.Teacher
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Teacher</legend>
<div class="editor-label">
@Html.LabelFor(model => model.TeacherId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.TeacherId)
@Html.ValidationMessageFor(model => model.TeacherId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Role,"以下界面来自Role模板")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Role)
@Html.ValidationMessageFor(model => model.Role)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<p>
@Html.ActionLink("Go to Create Student","Student")
</p>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
@model MvcEditorTemplatesTest.Models.Student
@{
ViewBag.Title = "Student";
}
<h2>Student</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Student</legend>
<div class="editor-label">
@Html.LabelFor(model => model.StudentId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.StudentId)
@Html.ValidationMessageFor(model => model.StudentId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Remark)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Remark)
@Html.ValidationMessageFor(model => model.Remark)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Role,"以下界面来自Role模板")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Role)
@Html.ValidationMessageFor(model => model.Role)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<p>
@Html.ActionLink("Go to Create Teacher","Index")
</p>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
AspNet MVC4 教学-23:Asp.Net MVC4 Editor 模板技术快速应用Demo
原文地址:http://blog.csdn.net/vinglemar/article/details/46343277