簡體   English   中英

在Razor內部使用Jquery

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM