Html.ActionLink傳遞參數


  //
        // 摘要:
        //     返回包含指定操作的虛擬路徑的定位點元素(a 元素)。
        //
        // 參數:
        //   htmlHelper:
        //     此方法擴展的 HTML 幫助器實例。
        //
        //   linkText:
        //     定位點元素的內部文本。
        //
        //   actionName:
        //     操作的名稱。
        //
        //   routeValues:
        //     一個包含路由參數的對象。通過檢查對象的屬性,利用反射檢索參數。該對象通常是使用對象初始值設定項語法創建的。
        //
        // 返回結果:
        //     一個定位點元素(a 元素)。
        //
        // 異常:
        //   System.ArgumentException:
        //     linkText 參數為 null 或為空。
        public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues);

該方法會調用當前controller的名為actionname的action方法,同時傳遞routedValues為參數至該方法。

比如:

@Html.ActionLink("投資申請", "AddInvest", Model.Investors.FirstOrDefault())

對應Action定義如下,接受參數類型需與傳遞參數類型一致:

  public ActionResult AddInvest(InvestorInfo investor)

那如果只想傳遞一個簡單類型參數,比如int,該怎么辦呢?

Action定義如下:

 public ActionResult CSR2Detail(int contractID)

調用時應該這樣:

 @Html.ActionLink("復核", "CSR2Detail", new { contractID = @myModel.ContractID })

因為第3個參數routedValues必須為一個object,執行時通過反射檢索該對象中的屬性來進行參數的映射,所以這里我們需要構造一個包含一個contractID屬性的匿名類對象進行傳遞


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM