码迷,mamicode.com
首页 > Web开发 > 详细

asp.net mvc htmlHelper

时间:2016-08-10 14:05:45      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

  HTML辅助方法(html helper)是用来帮助生成HTML的方法。

  1、HTML辅助方法应用实例

  ◊ 生成form元素

@using (Html.BeginForm("About", "Home")) { 
    @Html.TextBox("ProductName")
}

  生成的html代码如下:

<form method="post" action="/Home/About">
<input id="ProductName" type="text" value="" name="ProductName">
</form>

  ◊ 生成TextBox元素

@Html.TextBox("ProductName", "产品名称", new { id = "txtProductName", @class = "txt" })
public static MvcHtmlString TextBox(this HtmlHelper htmlHelper, string name, object value, object htmlAttributes);

  生成html代码如下:

<input id="txtProductName" class="txt" type="text" value="产品名称" name="ProductName">

 

@Html.TextBox("ProductName", "产品名称", ViewBag.Attributes as IDictionary<string, object>)
public static MvcHtmlString TextBox(this HtmlHelper htmlHelper, string name, object value, IDictionary<string, object> htmlAttributes);
技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

using System.Collections;

namespace MvcTest.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            IDictionary<string, object> attr = new Dictionary<string, object>();
            attr.Add("id", "txtProductName");
            attr.Add("style", "border:1px solid #666666;");
            attr.Add("class", "txt");
            ViewBag.Attributes = attr;

            return View();
        }

    }
}
技术分享

  生成的html代码:

<input id="txtProductName" class="txt" type="text" value="产品名称" style="border:1px solid #666666;" name="ProductName">

   ◊ 生成DropDownList

技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

using System.Collections;

namespace MvcTest.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            List<SelectListItem> lst = new List<SelectListItem>();
            lst.Add(new SelectListItem { Text = "数码电子", Value = "1" });
            lst.Add(new SelectListItem { Text = "服装服饰", Value = "2" });
            lst.Add(new SelectListItem { Text = "珠宝首饰", Value = "3" });
            ViewBag.Category = lst;
            ViewBag.Category = new SelectList(lst, "Value", "Text", "2");

            return View();
        }

    }
}
技术分享
@Html.DropDownList("Category",  "请选择")

  生成的HTML代码:

技术分享
<select id="Category" name="Category">
    <option value="">请选择</option>
    <option value="1">数码电子</option>
    <option selected="selected" value="2">服装服饰</option>
    <option value="3">珠宝首饰</option>
</select>
技术分享
技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

using System.Collections;

namespace MvcTest.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            List<Models.Province> lst = new List<Models.Province>();
            lst.Add(new Models.Province { ProvinceID = 1, ProvinceNo = "100000", ProvinceName = "北京" });
            lst.Add(new Models.Province { ProvinceID = 2, ProvinceNo = "110000", ProvinceName = "上海" });
            lst.Add(new Models.Province { ProvinceID = 3, ProvinceNo = "120000", ProvinceName = "深圳" });
            ViewBag.Category = new SelectList(lst, "ProvinceNo", "ProvinceName", "110000");
            return View();
        }

    }
}
技术分享

   2、自定义HTML辅助方法

技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Web.Routing;
using System.Web.Mvc;

namespace MvcTest.html
{
    public static class HtmlExtensions
    {
        public static MvcHtmlString Img(this HtmlHelper htmlHelper, string src)
        {
            return Img(htmlHelper, String.Empty, src, String.Empty, null);
        }
        public static MvcHtmlString Img(this HtmlHelper htmlHelper, string id, string src)
        {
            return Img(htmlHelper, id, src, String.Empty, null);
        }
        public static MvcHtmlString Img(this HtmlHelper htmlHelper, string id, string src, string alt, object htmlAttributes)
        {
            TagBuilder builder = new TagBuilder("img");
            builder.GenerateId(id);
            builder.MergeAttribute("src", src);
            builder.MergeAttribute("alt", alt);
            builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));

            return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
        }
    }
}
技术分享
技术分享
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@using MvcTest.html
@Html.Img("", Url.Content("~/Content/logo.png"))
@Html.Img("imgLogo", Url.Content("~/Content/logo.png"), "Logo", new { border = "1px solid #666666", @class = "c01" })
技术分享

  生成的HTML代码:

<img  src="/Content/logo.png" />
<img alt="Logo" border="1px solid #666666" class="c01" id="imgLogo" src="/Content/logo.png" />

 

asp.net mvc htmlHelper

标签:

原文地址:http://www.cnblogs.com/zengpeng/p/5756235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!