• MVC学习十二:Ajax.ActionLink用法


    Ajax.ActionLink用法

    <!--使用Ajax.BeginForm必须引用的js文件-->
    <script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

    1.加载部分视图

    视图代码

    @Ajax.ActionLink("链接文本", "Action方法名","控制器名", new AjaxOptions()
    {
    UpdateTargetId = "DivMsg", //数据显示容器ID
    InsertionMode = InsertionMode.Replace, //替换容器内容
    HttpMethod = "Post"
    })
    <div id="DivMsg">数据显示容器ID</div>

    Controller代码

    #region MVC 的 Ajax超链接请求的目标
    /// <summary>
    /// MVC 的 Ajax超链接请求的目标
    /// </summary>
    /// <returns></returns>
    public ActionResult Action方法名()
    {
        return PartialView();
    } 
    #endregion

    2.异步操作(如增、删、查、改)

    //                                                操作参数
    @Ajax.ActionLink("操作", "Action方法名", "控制器名", new { t=new Random().NextDouble() }, new AjaxOptions { HttpMethod = "Get", OnBegin = "OnBegin", OnSuccess="OnSuccess", OnComplete = "OnComplete" })

    脚本

    function OnBegin() {  
        //弹出遮罩层,防止用户在服务器响应期间的其他误点击  
    }  
    
    function OnSuccess(data) {  
        alert(data);//接收action传来的返回值  
    }  
    
    function OnComplete() {  
        //关闭遮罩层  
    }  

    AjaxOptions中还有其他可以指定的属性:

    Confirm 等效于javascript中的return confirm(msg),在点击该链接时先提示需要确认的信息。
    HttpMethod 指定使用Get或者是Post方式发送Http请求
    InsertMode 指定使用哪一种方式在指定的UpdateTargetId元素更新数据,可以有三种方式: "InsertAfter", "InsertBefore", or "Replace" 。默认为:Replace
    LoadingElementDuration Loading元素显示的时间
    LoadingElementId 可以指定在Http请求期间显示的Loading元素
    OnBegin 在Http请求之前执行的javascript方法
    OnComplete 在Http请求结束时执行的方法
    OnFailure 在Http请求失败时执行的方法
    OnSuccess 在Http请求成功时执行的方法
    UpdateTargetId Http请求更新的页面元素
    Url Http请求的Url

    示例:

    //                                                                                                                         锚点    参数--如果没有ID的话

    @Ajax.ActionLink("ActionLink", "Index", "Home", "https", "www.ayilaile.com:90", "title", new { id = 1, type = 1 }, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "detailsID", InsertionMode = InsertionMode.Replace }, new{ id = "testid"})

    生成的链接为:<a id="testid" herf="https://www.ayilaile.com:90/Home/Index/1?type=1#title">ActionLink</a>

    @Ajax.ActionLink("ActionLink", "Index", "Home", "https", "www.ayilaile.com:90", "title", new { type = 1 }, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "detailsID", InsertionMode = InsertionMode.Replace }, new{ id = "testid"})

    生成的链接为:<a id="testid" herf="https://www.ayilaile.com:90/Home/Index?type=1#title">ActionLink</a>

  • 相关阅读:
    HDU 1495 非常可乐
    ja
    Codeforces Good Bye 2016 E. New Year and Old Subsequence
    The 2019 Asia Nanchang First Round Online Programming Contest
    Educational Codeforces Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)
    AtCoder Regular Contest 102
    AtCoder Regular Contest 103
    POJ1741 Tree(点分治)
    洛谷P2634 [国家集训队]聪聪可可(点分治)
  • 原文地址:https://www.cnblogs.com/WarBlog/p/7423712.html
Copyright © 2020-2023  润新知