ASP.NET MVC框架包含帮助器方法,通过使用这些帮助器方法,可以轻松地在视图中呈现HTML。

可用的HTML帮助器

  • ActionLink - 链接到操作方法。

  • BeginForm * - 标记窗体的开头并链接到呈现该窗体的操作方法。

  • CheckBox * - 呈现复选框。

  • DropDownList * - 呈现下拉列表。

  • Hidden - 在窗体中嵌入未呈现的信息以供用户查看。

  • ListBox * - 呈现列表框。

  • Password - 呈现用于输入密码的文本框。

  • RadioButton * - 呈现单选按钮。

  • TextArea - 呈现文本区域(多行文本框)。

  • TextBox * - 呈现文本框。

使用BeginForm帮助器

使用 HTML 帮助器在 ASP.NET MVC 中呈现窗体

使用CheckBox帮助器

使用 HTML 帮助器在 ASP.NET MVC 中呈现窗体

使用DropDownList帮助器

使用 HTML 帮助器在 ASP.NET MVC 中呈现窗体

使用RadioButton帮助器

使用 HTML 帮助器在 ASP.NET MVC 中呈现窗体

使用TextBox帮助器

使用 HTML 帮助器在 ASP.NET MVC 中呈现窗体

示例应用程序

下面的示例是上述示例所摘自的完整示例。 Index 页显示了一个实现 HTML 帮助器方法的窗体。当用户提交窗体时,窗体由 HandleForm 操作方法进行处理,从而生成一个显示用户提交的信息的视图。
下面的示例演示 HomeController 类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcHtmlHelpers.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewData["Message"] = "Welcome to ASP.NET MVC!";

            List<string> petList = new List<string>();
            petList.Add("Dog");
            petList.Add("Cat");
            petList.Add("Hamster");
            petList.Add("Parrot");
            petList.Add("Gold fish");
            petList.Add("Mountain lion");
            petList.Add("Elephant");

            ViewData["Pets"] = new SelectList(petList);

            return View();
        }

        public ActionResult About()
        {
            return View();
        }

        public ActionResult HandleForm(string name, string favColor, Boolean bookType, string pets)
        {
            ViewData["name"] = name;
            ViewData["favColor"] = favColor;
            ViewData["bookType"] = bookType;
            ViewData["pet"] = pets;

            return View("FormResults");
        }
    }
}
下面的示例演示 Index 视图。
<h2><%= Html.Encode(ViewData["Message"]) %></h2>
<br /><br />
<% using(Html.BeginForm("HandleForm", "Home")) %>
<% { %>
    Enter your name: <%= Html.TextBox("name") %>
    <br /><br />
    Select your favorite color:<br />
    <%= Html.RadioButton("favColor", "Blue", true) %> Blue <br />
    <%= Html.RadioButton("favColor", "Purple", false)%> Purple <br />
    <%= Html.RadioButton("favColor", "Red", false)%> Red <br />
    <%= Html.RadioButton("favColor", "Orange", false)%> Orange <br />
    <%= Html.RadioButton("favColor", "Yellow", false)%> Yellow <br />
    <%= Html.RadioButton("favColor", "Brown", false)%> Brown <br />
    <%= Html.RadioButton("favColor", "Green", false)%> Green 
    <br /><br />
    <%= Html.CheckBox("bookType") %> I read more fiction than non-fiction.<br />
    <br /><br />
    My favorite pet: <%= Html.DropDownList("pets") %>
    <br /><br />
    <input type="submit" value="Submit" />
<% } %>

下面的示例演示 FormResults 视图。

<h2>FormResults</h2>
<p>
Your name: <b><%= Html.Encode(ViewData["name"])%></b>
</p>
<p>
Your favorite color: <b><%= Html.Encode(ViewData["favColor"]) %></b>
</p>
<% if (ViewData["bookType"].Equals(true))
   { %>
<p>You read more <b>fiction</b> than non-fiction.</p>
<% }
   else
   { %>
<p>You read more <b>non-fiction</b> than fiction.</p>
<% } %>
Your favorite pet: <b><%= Html.Encode(ViewData["pet"]) %></b>

相关文章: