`

2、HtmlHelper类

阅读更多
HtmlHelper类

<%Html.

MVC1
<%:Html.TextBoxFor("PropertyName")%>
MVC2
<%:Html.TextBoxFor(m=>m.PropertyName)%>

Html.Encode
等价于:
<%:%>

Html.TextBox
<%:Html.TextBox("name")%>
等价于
<input id="name" name="name" type="text" value=""/>

强类型
public ActionResult Edit(int id)
{
Var product =new Product{Name="danny"}
ViewData["Product"]=product;
return View();
}

View层
<%:Html.TextBox("Product.Name")%>

Html显示
<input id="Product_name" name="Product.Name" type="text" value="danny"/>
----------------------------------------
<%:Html.TextBox("Name","danny")%>

<%:Html.TextBoxFor(m=>m.Name,null,new{@class="cl1"})%>
<input class="cl1" id="Name" name="Name" type="text" value="danny"/>

Html.ActionLink和Html.RouteLink
这两控件都根据用户输入生成导航信息
ActionLink根据生成调用另外Controller的链接

调用同一个controller的另一个action
<%:Html.ActionLink("链接文字","anotherAction")%>
运行结果
<a href="/Home/anotherAction">链接文字</a>


另一个controller的另一个action
<%:Html.ActionLink("链接文字","Withdraw","Account")%>

<%:Html.ActionLink("链接文字","Withdraw","Account",new{id=34231},null)%>
<%:Html.ActionLink("链接文字","About","Account",null,new{title="about"})%>

RouteLink
<%:Html.RouteLink("链接文字",new{action="anotherAction"})%>


Html.BeginForm
完全模拟<form>标记
1、
<%using(Html.BeginForm(){%>
一些Html元素,比如textbox
<%}%>
2、
<%Html.BeginForm();%>
一些Html元素,比如textbox
<%Html.EndForm();%>

Html.Hidden
用于生成隐藏文本
<%:Html.Hidden("guidno","xx-xx-xx")%>
输出结果
<input id="guidno" name="guidno" type="hidden" value="xx-xx-xx"/>
强类型支持
<%:Html.HiddenFor(m=>m.Guid)%>

Html.DropDownList和Html.ListBox
用于显示列表或选择值
用于限制用户的输入

public ActionResult Edit(int id){
  Nodb context=new Nodb();
  var product=context.ProductS.Single(p=>p.ProductID==id);
ViewData["CategoryId"]=from c in p.Categrories
                               select new SelectListItem{
                                  Text =c.CategoryName,
                                   value=c.CategroyID,
                                   selected=(c.CategoryID==p.CategoryID)
    };
return View(Product);
}

<%:Html.DropDownList("CategoryId")%>
强数据类型
<%:Html.DropDownListFor(m=>m.categoryid)%>

Html.Password
Password的工作方式和textbox一样,只是提交以后数据会自动清空
<%:Html.Password("upwd")%>
返回
<input id="my password" name="upwd" type="password" value="*"/>
强类型支持
<%:Html.Password(m=>m.upwd)%>

Html.RadioButton
用户选择其一
<%:Html.RadioButton("color","red")%>
<%:Html.RadioButton("color","yellow","true")%>
结果
<input id="color" name="color" type="radio" value="red">
<input checked="checked" id="color" name="color" type="radio" value="yellow">

Html.Partial和Html.RenderPartial
用于输出不完整的Html片段
aspx页面可以

public void Partial(String partialViewName);
public void Partial(String partialViewName,object model);
public void Partial(String partialViewName,ViewDataDictionary viewData);
public void Partial(String partialViewName,object model,ViewDataDictionary viewData);


<%:Html.Partial("MyUserControl");%>
<%Html.RenderPartial("MyUserControl");%> //html response.write

Html.Action和Html.RenderAction
用于实现指定controller的指定的Action调用
public class MyController{
  public ActionResult Index(){
  return View();
  }
[ChildActionOnly]
public ActionResult Menu(){
  var menu=GetMenu();
return PartialView(menu);
}
}

<%@Control Inherits="System.Web.Mvc.ViewUserControl<Menu>"%>

<ul>
  <%foreach(var item in Model.MenuItem){%>
     <li><%=item%></li>
<%}%>
</ul>


<%=Html.Action("Menu")%>
不能用URL直接调用。

RenderAction
传递参数
public class MenuOptions{
  public int Width{get;set;}
  public int Height{get;set;}
}

[ChildActionOnly]
[ActionName="coolMenu"]
public ActionResult Menu(MenuOptions options){
  return PartialView(options);
}

<%=Html.Action("Menu",new{options=new MenuOptions{width=400,Height=500}})%>
2011-4-14 22:52 danny
分享到:
评论

相关推荐

    MVC_HtmlHelper用法大全

    HtmlHelper类通过提供一系列扩展方法来简化HTML标记的创建,这些扩展方法直接在视图文件(如.cshtml)中使用。为了更好地理解HtmlHelper的用法,我们来详细解读以下几个常用的HtmlHelper方法: 1. ActionLink方法 ...

    MVC日历控件 Html Helper Asp.net

    public static IHtmlString Calendar(this HtmlHelper htmlHelper) { var script = "$(function() { $('#calendar').datepicker(); });"; return new HtmlString("&lt;input type='text' id='calendar' /&gt;" + ...

    HttpClientHelper 工具类

    HttpClientHelper 对这个类进行了封装,使得开发者无需直接与HttpClient接口打交道,而是通过更简洁、易用的方法调用来实现网络通信。这提高了代码的可读性和可维护性。 单例模式是软件设计模式的一种,确保一个类...

    NetHelper_C#帮助类HtmlHelper_JSON_PostJson_

    标题 "NetHelper_C#帮助类HtmlHelper_JSON_PostJson_" 概述的是一个C#编程中的网络辅助类集合,其中包含了处理HTML、JSON数据以及POST请求的相关功能。这个工具集可能是为了方便开发者在进行Web开发时,高效地进行...

    ASP.NET MVC框架开发系列课程(20):HTML Helper的使用与扩展

    - 使用`HtmlHelper&lt;TModel&gt;.Extension`类,可以创建类型安全的助手方法,提供更好的IntelliSense支持。 - 自定义HTML Helper的一个例子可能是创建一个用于生成复杂表单元素,如带有验证和默认值的日期选择器。 4....

    asp.net 图片验证码的HtmlHelper

    这个类需要继承自HtmlHelper类,这样它就可以访问HtmlHelper的所有功能,并进行扩展。在这个类中,你将封装生成验证码图片的逻辑。 2. 在Helper类中定义多个重载的ValidateCode方法。这些方法会接受不同的参数,如...

    ASP.NET MVC分页HtmlHelper 2010贺岁版

    ASP.NET MVC 分页 HtmlHelper控件2010贺岁版 by Herman.格式分为四种: .1:上一页/下一页 模式; .2:首页/尾页/上一页/下一页 模式; .3:上一页 1 2 3 4 5 下一页 模式; .4:总共X条, 当前1/X页,首页 上一页 1 2 3 4 5 ...

    MVC3处理反复提交,HtmlHelper用法大全,拓展方法

    `HtmlHelper`是ASP.NET MVC提供的一种用于生成HTML元素的辅助类,它包含了大量内建的辅助方法,如`Html.BeginForm()`, `Html.DropDownList()`, `Html.TextBox()`等。这些方法可以帮助开发者更快速、更安全地构建视图...

    ASP.NET MVC HtmlHelper

    为了解决这一需求,ASP.NET MVC引入了`HtmlHelper`类,该类提供了一系列方便的方法来简化HTML元素的创建过程。本文将详细介绍`HtmlHelper`的基本概念及其在ASP.NET MVC项目中的应用。 #### 二、HtmlHelper概述 `...

    ASP.NET MVC4 HtmlHelper扩展类,实现分页功能

    扩展HtmlHelper类的方法允许我们自定义一些额外的功能,比如分页,而不需要修改原有的HtmlHelper类。我们可以通过静态方法的方式,向HtmlHelper类添加新的扩展方法。这里展示的扩展方法名为ShowPageNavigate,它是一...

    ASP.NET MVC HtmlHelper如何扩展

    可以从方法名定义中看出,第一个参数都是this HtmlHelper htmlHelper,代表对HtmlHelper类的扩展; 二、通过 MVC HtmlHelper扩展 实例简单说明扩展步骤 实例1、扩展Submit using System; using System.Collections...

    WebMatrix中的Helper(源码)上

    1. **定义Helper类**:Helper类通常继承自`System.Web.WebPages.HelperPage`或`System.Web.Mvc.HtmlHelper`。这些基类提供了执行辅助方法的上下文,并且包含了与视图环境交互所需的方法和属性。 2. **注册Helper**...

    Laravel开发-laravel-html-helper

    `laravel-html-helper`可能还提供了简化CSS类添加或链接外部JavaScript文件的方法。例如,轻松地为元素添加CSS类: ```php $html = HTML::div('内容', array('class' =&gt; 'container')); ``` 6. **安全性** ...

    在MVC3 中给HtmlHelper 添加扩展(Extension)来消除魔鬼代码.

    ### 在MVC3中给HtmlHelper添加扩展(Extension)来消除魔鬼代码 #### 背景与需求 在ASP.NET MVC3中进行Web应用开发时,开发者常常会遇到需要在JavaScript代码中引用HTML元素的情况。这通常涉及到通过元素的名称或ID...

    MVC HtmlHelper扩展类(PagingHelper)实现分页功能

    2. HtmlHelper扩展类的创建和应用:在*** MVC中,可以通过创建一个静态类(即扩展类)来扩展HtmlHelper的功能。这种类通过使用静态方法来提供额外的功能,这些方法可以在视图中直接调用,从而简化视图的编码工作。 ...

    Zend Framework自定义Helper类相关注意事项总结

    - Helper类的主要职责是提供数据或处理逻辑,而不是直接生成HTML或输出内容。它们应该返回处理后的数据,而不是使用`echo`或`print`。返回的数据在视图中可以安全地被转义和输出。 4. **文件组织**: - Helper类...

    传智播客C#/.net MVC 电商项目中用到的各种企业级Helper

    在IT行业中,Helper类是常见的代码复用工具,它们封装了一些特定的功能,使得开发者能够更加高效地编写和维护代码。在“传智播客C#/.NET MVC电商项目”中,使用了多个Helper类,这些类针对不同的业务场景提供了便利...

    Precision Helper CHM制作大师 V2 0 1 7 绿色中文版 zip

    2. **多文件整合**:支持导入多个HTML文件,可以将一系列相关的文档整合到一个CHM文件中,形成完整的帮助系统。 3. **自定义设置**:用户可以根据需求定制CHM文件的外观和结构,包括主题颜色、字体大小、目录层次等...

    C#封装的Html内容操作类

    而`HTMLHelper.cs`这个类文件,就是为了解决这个问题,它提供了封装好的方法,使得这些操作变得简单易行。 该类可能包含以下功能: 1. **获取HTML内容**:一个关键功能是获取HTML文档的全文。这可能是通过读取HTML...

    asp.net core bootstrap ui 控件 taghelper

    TagHelper是ASP.NET Core MVC中的一个重要概念,它是对HTML助手(HtmlHelper)的一种升级。在传统的ASP.NET MVC中,我们通常使用HTML助手来生成HTML元素,而TagHelper则允许开发者通过C#代码直接操作HTML元素,这种...

Global site tag (gtag.js) - Google Analytics