MVC-04 视图(3)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > MVC-04 视图(3)

MVC-04 视图(3)

 2013/12/13 3:09:10  liesl  博客园  我要评论(0)
  • 摘要:五、Url辅助方法Url辅助方法与HTML辅助方法很类似,HTML辅助方法用来产生HTML标签,而Url辅助方法则负责用来产生Url网址。@Url.Action("About")最后的输出网址如为,/Home/About。六、Ajax辅助方法Ajax是AsynchronousJavaScriptandXML的缩写,是目前非常热门的网页开发技术之一,利用Ajax开发技术可以帮助网站减少切换页面的机会、加快网页响应速度、降低网络下载流量,也能让用户经验变得更好,ASP
  • 标签:MVC

五、Url辅助方法

    Url辅助方法与HTML辅助方法很类似,HTML辅助方法用来产生HTML标签,而Url辅助方法则负责用来产生Url网址。

@Url.Action("About")

    最后的输出网址如为,/Home/About。

六、Ajax辅助方法

    Ajax是Asynchronous JavaScript and XML的缩写,是目前非常热门的网页开发技术之一,利用Ajax开发技术可以帮助网站减少切换页面的机会、加快网页响应速度、降低网络下载流量,也能让用户经验变得更好,ASP.NET MVC内建了Ajax辅助方法,可以帮助开发人员快速且方便地做到许多Ajax互动效果。

    在开始使用Ajax辅助方法之前,必须要先在页面中载入jQuery以及ASP.NET MVC4项目模板内附的jquery.unobtrusive-ajax.js文件才能正常执行。

    为了让网站载入适当的JavaScript函数库,必须先在Layout页面载入适当的JavaScript文件才行。事实上,在ASP.NET MVC4的Internet模板中已经在_Layout.cshtml页面中加上了jQuery载入,可以开启母版页面的最下方看到以下这段:

        @Scripts.Render("~/bundles/jquery")
        @RenderSection("scripts", required: false)
    </body>
</html>

    可以通过@RenderSection区域来载入jquery.unobtrusive-ajax.js文件。如果需要在页面中使用ASP.NET MVC的Ajax辅助方法,那么可以在每个需要使用Ajax辅助方法的页面最下方加上以下这段@section语法:

@section Scripts {
    @Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.js")
}

1.使用Ajax超链接功能

    使用Ajax辅助方法和使用HTML辅助方法非常类似,但Ajax辅助方法会比HTML辅助方法多出一个AjaxOptions类型参数,用来控制Ajax执行时的各种参数。

        public ActionResult GetTime()
        {
            return Content(DateTime.Now.ToString("F"));
        }
@Ajax.ActionLink("取得目前时间","GetTime",new AjaxOptions{UpdateTargetId="now"})

<div id="now"></div>

@section Scripts {
    @Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.js")
}

    这里有一点必须特别说明一下,就是通过Ajax远端取得网页内容的过程。浏览器为了让执行效率提升,会预设通过Ajax取得的网页内容只要Ajax调用网址没有改变,且远端的HTTP没有包含缓存相关标头(Headers),那么浏览器就不会再次发出Ajax请求。以上述Ajax.ActionLink辅助方法输出的结果为例,当第一次点击取得/Home/GetTime时会回传当下的服务器时间,当第二次点击同一个网址,按理说应该看到内容更新才对,但结果却永远无法更新,除非你清空浏览器缓存。
    如果你的Ajax回传的数据必须即时更新,那么,就必须调整你的Action方法定义,新增一个OutputCache属性(Attribute),强迫浏览器不要缓存这一页的请求,范例如下:

        [OutputCache(NoStore=true,Duration=0)]
        public ActionResult GetTime()
        {
            return Content(DateTime.Now.ToString("F"));
        }

2.使用Ajax表单功能

3.了解AjaxOptions类型

名称说明 class="cl_IC74937" title="公共属性" src="/Upload/Images/2013121303/B89C3333A5CED2A9.gif" alt="公共属性" /> Confirm 获取或设置在提交请求之前显示在确认窗口中的消息。 公共属性 HttpMethod 获取或设置 HTTP 请求方法(“Get”或“Post”)。 公共属性 InsertionMode 获取或设置指定如何将响应插入目标 DOM 元素的模式。 公共属性 LoadingElementDuration 获取或设置一个值(以毫秒为单位),该值控制在显示或隐藏加载元素时的动画持续时间。 公共属性 LoadingElementId function is loading.">获取或设置在加载 Ajax 函数时要显示的 HTML 元素的 id 特性。 公共属性 OnBegin 获取或设置要在更新页面之前立即调用的 JavaScript 函数的名称。 公共属性 OnComplete has been instantiated but before the page is updated.">获取或设置在实例化响应数据之后但在更新页面之前,要调用的 JavaScript 函数。 公共属性 OnFailure 获取或设置在页面更新失败时要调用的 JavaScript 函数。 公共属性 OnSuccess 获取或设置在成功更新页面之后要调用的 JavaScript 函数。 公共属性 UpdateTargetId 获取或设置要使用服务器响应来更新的 DOM 元素的 ID。 公共属性 Url 获取或设置要向其发送请求的 URL。

 

发表评论
用户名: 匿名