第10章 在ASP.NET MVC 中使用Ajax
10.1分布视图
10.1.1 创建和使用分部视图
1.Html.Partial()方法
语法:
public static MvcHtmlString Partial(
this HtmlHelper htmlHelper,
string partialViewName, //分部视图的名称
object model, //用于分部视图的模型
ViewDataDictionary viewData //用于分部视图的视图数据字典
)
说明:分部视图一般放在ViewsShared目录下。
示例:
@Html.Partial(“MyVistor”,ViewData[“Visitors”];
2.Html.Action()方法
语法:
public static MvcHtmlString Action(
this HtmlHelper htmlHelper,
string actionName,
string controllerName,
object routeValues
)
方式 | 方法 | 说明 |
调用分部视图 | Partial() | 返回HTML 编码的字符串 |
RenderPartial() | 无返回值,以直接写入Htttp流的方式输出 | |
调用动作方法 | Action() | 返回HTML 编码的字符串 |
RenderAction() | 无返回值,以直接写入Htttp流的方式输出 |
10.2 ASP.NET MVC中的Ajax开发
10.2.1 使用动作方法处理Ajax请求
1.纯文本数据
2.分部视图
3.结构化数据(json,xml)
如果想允许get请求获取json,请设置
10.3体验 AjaxHelper——无脚本也能不刷新
1.无刷新表单
Ajax.BeginForm
AjaxOptions-对请求前后提供干预
主要属性 | 说 明 |
string UpdateTargetId | 服务器响应来更新的 DOM 元素的 ID |
string Confirm | 提交请求之前显示在确认窗口中的消息 |
string HttpMethod | HTTP 请求方法(“Get”或“Post”) |
InsertionMode InsertionMode | 将响应插入目标 DOM 元素的模式 |
int LoadingElementDuration | 控制在显示或隐藏加载元素时的动画持续时间 |
string OnBegin | 在更新页面之前调用的 JavaScript 函数 |
string OnSuccess | 在成功更新页面之后调用的 JavaScript 函数 |
2.无刷新链接
Ajax.ActionLink
3.服务器判断是否是ajax请求
Request.IsAjaxRequest()
说明:Request.IsAjaxRequest()能够区分是否Ajax请求。主要依赖于jQuery在发送Ajax请求之前,向Http请求头插入了一个”x-request-with”的题头。