Asp.net mvc 知多少(三)
|
Q33. 列举下都有哪几种HTML Helpers? Ans. 主要有三种Html Helpers: 1、** Inline Html Helpers **- 通过Razor@helper标签创建的帮助类,只能在同一个view中使用。
@helper ListingItems(string[] items)
{
@foreach (string item in items)
{
- @item
}
}
Programming Languages:
@ListingItems(new string[] { "C","C++","C#" })
Book List:
@ListingItems(new string[] { "How to C","how to C++","how to C#" })
2、 Built-In Html Helpers - Built-In Html Helpers 是针对HtmlHelper
的扩展方法。主要分为三类:
2.1 Standard Html Helpers - 用于渲染常见的Html 元素:
2.2 Strongly Typed HTML Helpers - 基于model属性创建的html元素,主要是通过lambda表达式来创建元素。
2.3 Templated HTML Helpers - 该类型帮助类,会自动根据model类的属性类型去呈现适当的html元素。
比如你的属性使用[DataType(DataType.Password)]属性注解为Password,那么使用模板html帮助类,它将自动呈现为密码类型的文本框。 Display and DisplayFor:根据指定的model属性和基于model属性的数据类型和元数据选择一个合适的html标签去渲染【只读状态的视图】 。Editor and EditorFor:根据指定的model属性和基于model属性的数据类型和元数据选择一个合适的html标签去渲染【编辑状态的视图】。 3、 Custom Html Helpers - 可以通过扩展 Q34. 介绍下Url Helpers?
Ans. Url helpers 基于路由配置帮助我们去渲染HTML链接或生成URL。 Q35. 什么是 Validation Summary(验证汇总)?
Ans. ValidationSummary是用来显示ModelState字典中所有验证错误信息 (未经排序)。它接收一个bool参数,当 第一行未指定key关联这个错误信息;第二行指定Name属性关联。
当在view中分别使用以下两种方式现在验证信息: 因此,为true时,只显示model级别错误信息。
为false时,即显示model级别,也显示model的属性级别的错误。 Q36. 介绍下 AJAX Helpers?
Ans. AJAX Helpers 是用来创建启用Ajax进行异步加载的元素比如Ajax From,Ajax 链接。 AJAX Helpers 是 //输出:
HtmlHelper
类或者通过创建在工具类中创建静态方法来创建自定义Html Helper。public static class CustomHelpers
{
//Submit Button Helper
public static MvcHtmlString SubmitButton(this HtmlHelper helper,string buttonText)
{
string str = "(this HtmlHelper
@Html.ValidationSummary(true)
显示model-level错误;当 @Html.ValidationSummary(false)
显示model-level 和 property-level 错误。
假设你在代码中添加了如下两行代码:ModelState.AddModelError("","This is Model-level error!");
ModelState.AddModelError("Name","This Model property-level error!");
@Html.ValidationSummary(true) @*//shows model-level errors*@
@Html.ValidationSummary(false) @*//shows model-level and property-level errors*@
System.Web.Mvc
命名空间中AJAXHelper
类的扩展方法。@Ajax.ActionLink("Load Products","GetProducts",new AjaxOptions {UpdateTargetId= "Products-container",HttpMethod = "GET" })
<a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace"
data-ajax-update="#Products-container" href="/Home/GetProducts">Load Products
Q37.什么是非侵入Ajax (unobtrusive AJAX)? Ans. ASP.NET MVC提供了基于jquery的非侵入ajax。非侵入式ajax意味着通过使用帮助类方法去定义ajax功能而不是通过在view中添加js代码块。
Q38. 介绍下AJAX帮助类的配置选项?
Ans. AjaxOptions
类定义的属性允许你在ajax请求的生命周期中的不同阶段指定对应的回调方法。关于AjaxOptions
的配置项讲解,详参。
Q39. 什么是Cross Domain AJAX(跨域Ajax)? Ans. 默认来说,浏览器只允许ajax调用你自己服务器上托管的当前web应用的站点。这个限制帮助组长了许多安全问题(比如XSS攻击)。但是,有些时候我们需要与额外的API(s)交互比如(Twitter或者Google)。因此,为了与额外的API(s)进行交互,我们的web应用就必须支持JSONP请求或CORS(跨域资源分享)。ASP.NET MVC 默认不支持JSONP和CORS。如果有这种需要,就需要做一些编码和配置。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
- asp.net-core – 如何在aspnet核心应用程序中为静态文件使用
- 重新写了一个拼音输入法词库转换小程序
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之验证
- .net – 设置页面标题不起作用
- asp.net – MVC 3 System.Web.Optimization捆绑单个文件
- asp.net-mvc – jqgrid EF MVC:如何在excel中导出?你建议
- 使用RestSharp发布GZip内容
- asp.net-mvc – 我可以创建一个带有MVC3助手的选择列表
- ASP.Net OnClick vs Function()处理buttonName.Click
- asp.net-mvc-3 – MVC3中的模型级错误?
- .NET Core 3.0及ASP.NET Core 3.0 前瞻
- asp.net-mvc – 是否可以复制/克隆Web请求的Http
- ASP.NET Core Identity 实战(2)——注册、登录
- asp.net – AngularJs ServiceStack应用程序的安
- asp.net-mvc – 如何在ASP.NET MVC 2 RC中编写自
- asp.net – 无法编写输出文件… pdb visual stud
- asp.net-mvc – 用户不在角色时的ASP.NET登录重定
- 处理ASP.NET Core中的HTML5客户端路由回退
- asp.net-mvc-2 – 如何在ASP.NET MVC2中为Html.L
- asp.net-mvc – 在MVC4中为ViewModel设置默认值的