发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
三、View如何从Aciton取得数据
从Action取得数据,在ASP.NET MVC可区分成两种方式,一种是“使用弱类型取得数据”,另一种则是“使用强类型取得数据”,两者的差别在于View页面最上方声明的方式。
如果View页面使用弱类型接收来自Controller的数据,在View页面里完全不需要有任何声明,数据可以从ViewData、ViewBag或TempData取得,在页面中也可以通过@Model属性,取得从Action传来的ViewData.Model数据模型,但@Model数据模型的类型将会是object,所以算是弱类型的传值方式。
如果View页面使用强类型方式接收来自Controller的数据,那么,必须在View页面的第一行使用@model关键字引入一个View页面专用的数据模型类型参考。使用这种方式有助于提升View的开发效率,因为可以使用Visual Studio 2012的Intellisense提示功能。
1.使用弱类型模型取得数据
2.使用强类型模型取得数据
四、HTML辅助方法
顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML只用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HTML辅助方法帮助你产生一些HTML标签或内容,因这些HTML标签都有固定标准的写法,所以将其包装成HTML辅助方法,可让View开发更快速,也可以避免不必要的语法错误。
ASP.NET MVC中内建了许多HTML辅助方法,这些HTML辅助方法都是利用C#3.0的扩充方法特性,将各种不同的HTML辅助方法扩充在HtmlHelper类别里,并且都拥有多载。
1.使用HTML辅助方法输出超链接
@Html.ActionLink("链接文字","ActionName")
@Html.ActionLink("链接文字","ActionName","ControllerName")
@Html.ActionLink("链接文字","ActionName",new{id=123,page=5})
@Html.ActionLink("链接文字","ActionName",null,new{@class="btnLink"})
使用Html.AcionLink()时,第一个参数为超链接的显示文字,此参数不可以输入空字符串、空白字符串或null值,否则会跑出The Value cannot be null or empty的异常。
如果想设计一个包含超链接的图片按钮,可选择用<a>超链接标签来输出,并通过CSS加上一个背景图,如下。
<a href="@Url.Action("ActionName")" class="lnkButton"></a>
ASP.NET MVC还有另一个Html.RouteLink辅助方法,其用法与Html.ActionLink非常相似,差别仅在于输入的参数要以RouteValue为主。
2.使用HTML辅助方法输出表单
(1)产生表单元素
使用using语法产生表单标签:
@using(Html.BeginForm("About","Home")) { @Html.TextArea("Date") @Html.TextArea("MEMO") <input type="submit"/> }
使用Html.BeginForm辅助方法输出的表单预设输出的method属性会是POST,如果想指定为GET的话,可以输入第三个参数,如下。
@using(Html.BeginForm("Search","Home",FormMethod.Get)) { @Html.TextArea("Keyword") <input type="submit" /> }
如果想要用HTML表单实现文件上传的功能,那么必须在输出的<form>表单标签加上一个enctype属性,且内容必须设定为multipart/form-data,如下。
@using(Html.BeginForm("Upload","File",FormMethod.Post,new{enctype="multipart/form-data"})) { @Html.TextBox("File1","",new{type="file",size="25"}) <input type="submit"/> }
Html辅助方法并没有File方法,因此必须用TextBox方法来代替,并传入第三个参数将内建的type属性换成file即可。
(2)模拟各种HTTP动词
(3)常用表单输入栏位
(4)使用强类型辅助方法
3.使用HTML辅助方法载入分部视图
4.使用视图模板输出内容
5.自定义HTML辅助方法
五、Url辅助方法
六、Ajax辅助方法
1.使用Ajax超链接功能
2.使用Ajax表单功能
3.了解AjaxOptions类型
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
ASP.Net MVC开发基础学习笔记(2):HtmlHelper与扩展方法
ASP.Net MVC开发基础学习笔记(2):HtmlHelper与扩展方法。继续反编译查看,在System.Web.Mvc命名空间下的HtmlHelper类型如下图所示,...
ASP.NET MVC架构与实战系列之三:MVC控件解析
ActionLink(string linkText,string actionName,string controller,string protocol,string hostName,string fragment,object routeValues,object htmlAttributes);ActionLink(string linkText,string ...
演练:使用区域组织 ASP.NET MVC 应用程序
演练:使用区域组织 ASP.NET MVC 应用程序。为了满足大型项目的需要,ASP.NET MVC 允许您将 Web 应用程序划分为较小单元(也称为“区域”)。本演练演示如何在 ASP.NET MVC 应用程序中实现区域。在 ASP...
ASP.NET MVC4 IN ACTION学习笔记
7.2 ASP.NET MVC Ajax Helpers.接下来我们使用一下ActionLink Ajax Helper,Controller我们就不要修改了,我们修改Index.cshtml视图...
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
} public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo) { return String.Method, AllowMultiple = false, Inherited = true)]public a...
mvc基础系列说谈(4)——HtmlHelper,自定义,扩展HtmlHelper
public static string TextBox(this HtmlHelper htmlHelper, string name)这个方法,然后最终调用:public static string TextBox(this HtmlHelper htmlHelper,string name,object value,IDictionary&l...
ASP.NET MVC中的HtmlHelper类
mvc HtmlHelper用法
【.NET框架】—— ASP.NET MVC5 表单和HTML辅助(二)
【.NET框架】—— ASP.NET MVC5 表单和HTML辅助(二)1.1.ASP.NET MVC表单的使用。Html.<div> @Html.Label("lb3", &quo...
微信扫码,在手机上查看选中内容