Ajax.BeginForm 使用

微软为开发 MVC 提供了很多简便的写法。实现一个MVC AJAX传值查询的功能。逻辑很简单,就是在页面通过提交查询,然后后台返回JSON,通过js处理成table显示在页面。实现效果如图:

实现效果

参考文档:https://msdn.microsoft.com/en-us/library/system.web.mvc.ajax.ajaxextensions.beginform(v=vs.118).aspx#M:System.Web.Mvc.Ajax.AjaxExtensions.BeginForm%28System.Web.Mvc.AjaxHelper,System.Web.Mvc.Ajax.AjaxOptions%29

页面代码

@Styles.Render("~/bundles/tablecss")
@Scripts.Render("~/bundles/tablejs")
<script type="text/javascript">
    function showTable(data) {
        var divid = $("#message");
        readQuery(divid, data);
    }
</script>
<div>
    @using (Ajax.BeginForm("test1", "Query", new AjaxOptions(){
        HttpMethod = "Post",
        LoadingElementId = "loading",
        UpdateTargetId = "message",
        OnSuccess = "showTable"
    }))
    {
        <div>
            <input type="text" id="id"name="id" value="ceshi" />
            <input type="submit" id="Query" value="Query"/>
        </div>
    }
</div>
 <div id="loading" style="display: none">
        <div class ="cover"></div>
     <div class ="coffee_cup">loading</div> 
     <div ></div>
 </div>
<div id="message"></div>

.NET MVC 使用Ajax.BeginForm 来提交AJAX。除了熟悉的 aciton,和controller参数外,在AjaxOptions()实现比较常用的几个参数

Parameter name Description
HttpMethod 请求类型 post 或者get
LoadingElementId 在提交完成前需要显示的html id,完成后自动隐藏
UpdateTargetId 提交完成需要更新的html id
OnSuccess 处理返回数据的js function

完整的说明请参考:https://msdn.microsoft.com/en-us/library/system.web.mvc.ajax.ajaxoptions(v=vs.118).aspx

需要注意的是使用 Ajax.BeginForm 必须要引入js:jquery.unobtrusive-ajax.min.js

服务端

后台在接受数据时是根据标签的 name来获取


后台处理

分析页面

在浏览器中查看元素,系统在生成html代码时,自动实现了多个 data-ajax- *的属性,方便jquery.unobtrusive-ajax.min.js抓取属性处理。

图片.png

同理可以处理 AJAX.ActionLink

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,400评论 24 450
  • 前端开发面试题 <a name='preface'>前言</a> 只看问题点这里 看全部问题和答案点这里 本文由我...
    自you是敏感词阅读 4,298评论 0 3
  • 人过四十,面对很多自己有兴趣的事,总是会有一种莫名的焦虑:“现在干这件事对自己来说太晚了吧,如果自己年轻10...
    千年懒虫阅读 3,514评论 4 2
  • 孔子说:饮食男女,人之大欲也。这一句话深刻的道出了人类社会的共同命运,吃饭和感情。人生下来一顿三餐必不可少,等到一...
    柚子的学长阅读 4,816评论 0 1
  • 大三女汉一枚,经历了三年的时光总也有了些成长,在这里梳整梳整。 从前 一件小事就可以让我计较好久,特爱转牛角尖,对...
    菠四阅读 1,702评论 0 0

友情链接更多精彩内容