[英]Using Jquery inside of Razor
我正在嘗試將字符串從javascript傳遞到剃須刀ActionLink
string filtering =$("#Hello").val();
@Html.ActionLink(Name, ControllerName, new { sort = columm, order = orderby, filters = filtering })
但我無法訪問此變量,我已經嘗試了@:filtering
或"@filtering"
但仍然無法正常工作,
如何將變量傳遞給控制器?
如果要將數據發送或發布到Controller的操作,則可以嘗試此操作...
<input type="submit" id="btnFilter" value="Filter" name="btnFilter" />
$('#btnFilter').click(function () {
var sort = sortValue;
var order = orderValue;
var filter= filterValue;
$.ajax({
type: 'POST',
url: '@Url.Action(ActionName, ControllerName)',
data:'{"sort":"' + sort+ '","order":"' + order+ '","filter":"' + filter+ '"}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (result) {
},
error: function () {
}
});
});
然后...在控制器動作中
public ActionResult ActionName(string sort ,string order , string filter)
{
// do Something here....
}
您必須自己使用jQuery手動將參數添加到URL,以分配錨標記的href
屬性。
首先,讓我們從ActionLink
中移除filter參數並為其指定一個ID(以便我們可以在jQUery中引用它):
@Html.ActionLink(Name, Controller, new { sort = columm, order = orderby }, new { id = "myLink" })
然后執行以下jQuery:
$(function () {
var newLink = $("#myLink").attr("href") + "?filter= " + $("#Hello").val();
$("#myLink").attr("href", newLink);
});
我可以做到的方式是將Url傳遞給控制器window.location = window.location.protocol + "//" + location.host + "/Name/Controller/" + "?sort=sort" + "&order=order" + "&page=page" + "&filters=" + filter;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.