簡體   English   中英

使用Jquery將動態參數傳遞給ASP MVC

[英]Passing dynamic parameters to ASP MVC using Jquery

我試圖將動態參數從jquery傳遞到mvc控制器。 這是我的jQuery函數

function OpenBrowserUrl(type, params)
{
    window.open("{0}?linkType={1}&{2}".format(URL.openBrowserLinkURL, type, $.param(params)), '_blank');
}

參數是基於誰傳遞的而不同的。例如,它是這樣的對象: var param = { P1: "Test1", P2: "Test2" }

我試圖將其綁定在MVC控制器中。 這是現在的樣子:

    public virtual RedirectResult OpenBrowserLink(object urlParameters)
    {
        IDictionary<string, object> paramsPair = new RouteValueDictionary(urlParameters);
        foreach (var item in paramsPair)
        {
            System.Diagnostics.Debug.WriteLine(item.Key);
        }
    }

但是,它的綁定不正確。 值是空的。 在提琴手上,這是它發送數據的方式: http ://www.url.com?param1=1&param2=2&param3 =3

知道發生了什么嗎? 還是有更好的方法來解決這個問題? 基本上,我試圖模仿HTML Helper發送參數並使用JQuery從控制器端將其綁定的方式。 HtmlHelper示例: Html.TextboxFor(m => m.Text, new { Param1=1, Param2=2, Param3=3 });

非常感謝您的幫助

模型資料夾無法使用,因為您的object urlParameters沒有屬性。 您應該創建強類型模型:

public class UrlParamerters
{
    public string Param1 {get; set;}
    public string Param2 {get; set;}
    public string Param3 {get; set;}
}

或更改您的動作簽名:

public virtual RedirectResult OpenBrowserLink(string[] params)

並只傳遞一個數組或參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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