通过使用ASP.NET AJAX, Web应用程序可以从服务器中异步检索数据,以及更新现有页面部分。这样,可以通过提高Web应用程序的响应性来改善用户体验

系统必备

1、Microsoft Visual Studio2008及以上。

2、ASP.NET MVC2

 

创建新MVC项目

创建ASP.NET MVC Web应用程序。

 

引用ASP.NET AJAX脚本库

MicrosoftAjax.js和 MicrosoftMvcAjax.js这两个脚本库中存在对ASP.NET AJAX客户端功能的支持。这些脚本的发行版本和调试版本位于项目的Scripts文件夹中。在访问客户端脚本中的这些库之前,您必须向当前项目中的 MVC 视图添加库引用。

<script type="text/javascript" src="<%=Url.Content("~/Scripts/MicrosoftAjax.debug.js") %>"></script>
    <script type="text/javascript" src="<%=Url.Content("~/Scripts/MicrosoftMvcAjax.debug.js") %>"></script>

 

向HomeController类添加操作方法

接下来,添加可从客户端脚本中异步调用的两个操作方法。

添加到HomeController类中。

public string GetStatus()
        {
            return "Status OK at " + DateTime.Now.ToLongTimeString();
        }

        public string UpdateForm(string textBox1)
        {
            if (textBox1 != "Enter text")
            {
                return "You entered: \"" + textBox1.ToString() + "\" at " + DateTime.Now.ToLongTimeString();
            }

            return string.Empty;
        }

 

重新定义索引页

修改首页视图Index.aspx。

添加如下代码:

<p>
        Page Rendered: <%= DateTime.Now.ToLongTimeString() %>
    </p>
    <span id="status">No Status</span>
    <br />
    <%= Ajax.ActionLink("Update Status", "GetStatus", new AjaxOptions{ UpdateTargetId="status"}) %>
    <br /><br />
    <%using (Ajax.BeginForm("UpdateForm", new AjaxOptions { UpdateTargetId="textEntered"})) {%>
        <%= Html.TextBox("textBox1", "Enter text") %>
        <input type="submit" value="Submit" /><br />
        <span id="textEntered">Nothing Entered</span>
      <%} %>

在此示例中,异步链接是通过调用 Ajax.ActionLink 方法创建的。此方法具有多个重写。在此示例中,它可以接受三个参数。第一个参数为链接的文本。第二个参数为要调用的 MVC 操作方法。第三个参数是一个定义调用的预期目的的 AjaxOptions 对象。在本例中,代码将更新 ID 为 status 的 DOM 元素。

窗体是使用同样具有多个重写的 Ajax.Form 方法定义的。在此示例中,它可以接受两个参数。第一个参数为要调用的操作方法。第二个参数是另一个 AjaxOptions对象,该对象指定将更新 ID 为 textEntered 的 DOM 元素。

 

测试应用程序

Ctrl + F5运行,查看效果。

image

 

image

posted on 2013-03-22 00:53  Louis.Lu.Sz  阅读(217)  评论(0编辑  收藏  举报