使用:vs'12 Razor asp.net MVC4 Internet 应用程序模板 EF Code First
我正在尝试操作的
Actionlink
@Html.ActionLink("Download", "ShowOpenAcreageSummaryReport", new { controller = "DataToExcel" }, new { id = "AddData" })
尝试此操作的
脚本
$('#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¶m2=test2
?另请注意,this
指向点击处理程序中的#AddData
元素。如果要更改当前位置,请使用 window.location.href = 'someurl';
?
是指示查询字符串参数开始所必需的。
另请注意,您应该使用 encodeURIComponent
对值进行编码,以确保生成有效的 URL。
关于javascript - JavaScript 到 MVC : Controller Variable Passing via Actionlink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990534/