Java 脚本到 MVC:通过 Actionlink 传递的控制器变量

Java Script to MVC: Controller Variable Passing via Actionlink

本文关键字:控制器 变量 Actionlink 通过 脚本 MVC Java      更新时间:2023-09-26

正在使用: vs'12 Razor asp.net MVC4 Internet App Template EF Code First

  • 我试图操纵的Actionlink

    @Html.ActionLink("Download", "ShowOpenAcreageSummaryReport", new { controller = "DataToExcel" }, new { id = "AddData" })
    
  • 尝试此操作script

    $('#AddData').click(function (e) {
    var optVal = $("#OptionsDrop").val();
    var Xpro = $("#Prospects").val()
    var Xcnty = $("#Countys").val()
    var Xtwn = $("#TownShips").val()
    var Xrng = $("#Ranges").val()
    var Xsct = $("#Sections").val()
    
        var href = "/DataToExcel/ShowLPRStandardLeaseReport/" + Xpro + Xcnty + Xtwn + Xrng + Xsct;
        this.href = ""; //clears out old href for reuse
        this.href = href; //changes href value to currently slected dropdown value
    

    }

  • 接受这些传递值actionResult

    public ActionResult ShowLPRStandardLeaseReport(string pro, string cnty, string twn, string rng, string sec)
    

现在我知道这适用于 1 个变量,因为我在另一个页面上运行了此代码,但它不适用于多个变量。

我还尝试在变量之间添加+ "/" +,这对结果没有影响。

如何更改我的代码以便能够传递所有变量?

您是否尝试过使用 GET 参数,例如 some-url/?param1=test&param2=test2?另请注意,this指向单击处理程序中的 #AddData 元素。如果要更改当前位置,请使用window.location.href = 'someurl';

?是指示查询字符串参数的开始所必需的。

另请注意,您应该使用 encodeURIComponent 对值进行编码,以确保生成有效的 URL。