asp.net mvc中的ajax的简单应用

本文介绍了如何在ASP.NET MVC项目中使用内置的Ajax功能,包括通过ActionLink和BeginForm进行GET请求,以及如何配置Web.config以启用Unobtrusive JavaScript。

在mvc中,我们可以使用ajax来获取后台的内容,提高用户的体验。通常我们会使用jquery里面的ajax,但是其实asp.net mvc中已经集成了ajax,先让我们做一个简单的Demo,这个Demo实现的功能就是从后台获取当前的系统时间具体实现如下:


1)在index.cshtml页面里面添加jquery.js 和 jquery.unobtrusive-ajax.js文件的引用,然后再页面上添加一个id为wenbin的div,最后我们还需要添加小段js代码,你使用jquery 写也好,用原生的js写也好,都是可以的。这里我用的是原生的js,具体的代码如下:

<script type="text/javascript">
    function duying()
    {
        alert('成功!');
    }
</script>


2)在webconfig中要启用UnobtrusiveJavaScript  使用。启用方法是在appsetting中把UnobtrusiveJavaScriptEnabled,设置成true。 如下:<add key="UnobtrusiveJavaScriptEnabled" value="true" />


3)在HomeCtroller中添加一个GetTime()的action,具体的代码如下:

     [HttpGet]
     public ActionResult GetTime()
     {
         return Content(DateTime.Now.ToShortDateString());
     }

可以看到我们上面有一个HttpGet,这个就表示这个action只响应get动作,而不会响应post动作。


4)接下来我们在index页面添加一个超链,具体的代码如下:

@Ajax.ActionLink("获取时间", "GetTime", new AjaxOptions { UpdateTargetId = "wenbin",HttpMethod="get",OnSuccess="duying"})

接下来我们直接来运行项目即可。可以看到点击“获取时间"这个文本的时候,会直接在页面id=”wenbin“的 div中 显示当前时间,然后弹出一个成功的提示框,而且当前页面也没有刷新。

以上就是一个简单的ajax的例子,通过上面的例子我们来讲解一下asp.net mvc中的ajax,其实上面最重要的东西就是new AjaxOptions { UpdateTargetId = "wenbin",HttpMethod="get",OnSuccess="duying"})这段代码。下面我们就来详细的讲解一下 new ajaxoptions里面的参数,updatetargetid就是最终要显示结果的对象的id,httpmethod,就是我们操作这个方法的post还是get过去,这里我们的action里面添加的是[HttpGet],所以我们这里也要跟gettime的操作方法一致,也要用get,如果改成post,那么gettime这个action是不会执行的;后面的onsuccess是表示假如结果成功返回之后执行的js方法名称,这里假如调用成功会调用duying这个js,即提示 ‘成功’,对于new AjaxOptions 这里的参数我只是简单的介绍一下,如果大家感兴趣可以看一下其他的参数。


下面顺带着讲解一下ajax的form提交,具体代码如下,跟上面的差不多,只不过其中的new ajaxoption是被挪到了beginform中了,代码如下:

//前台
<script type="text/javascript">
    function duying() {
        alert('成功!');
    }
</script>
<h2>Index</h2>

@using (Ajax.BeginForm("gettime",
new AjaxOptions
{
    UpdateTargetId = "wenbin",//需要显示内容的目标id。
    HttpMethod = "get",//跟后台的gettime的方法的动作一致。
    OnSuccess = "duying"//成功后需要操作的js方法名称。
}
))
{
    <input type="text" name="UserLogOnContainer" />
    <input type="submit" value="提交" />
    <div id="wenbin"></div>
}


//后台
  public ActionResult Index(string UserLogOnContainer)
        {
            ViewBag.jj = UserLogOnContainer;
            return View();
        }

        [HttpGet]
        public ActionResult GetTime()
        {
            return Content(DateTime.Now.ToShortDateString());
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值