Window.location.href将参数发布到actionresult asp.net mvc

时间:2014-03-06 19:56:47

标签: javascript asp.net-mvc windows location href

我尝试将文本框值发布到asp.net mvc中的actionresult

使用Javascript:

function OnButtonClick() {
    var data= {
        TextBox: TextBox.GetValue()
    };
    var PostData= data.TextBox;

    window.location.href = "Home/MyActionResult?Page=data" + PostData;
}

的ActionResult

public ActionResult MyActionResult(string PostData)
{
    return view();
}

每当我将数据发布到Home/MyACtionResult时,PostData始终为null

我错过了什么?

如何将文本框值发布到actionresult?

4 个答案:

答案 0 :(得分:4)

试试这个:

window.location.href = "Home/MyActionResult?Page=data&PostData=" + PostData;

答案 1 :(得分:1)

试试这个

var url = '@Url.Action("../Home/MyActionResult")' + '?Page='+data+'&'+PostData;
window.location.href = url;

答案 2 :(得分:0)

这种类型的传递数据是一种糟糕的方法。请尝试研究另一种代码方法。这不适用于大量数据,网址和安全数据。

答案 3 :(得分:0)

使用window.location.href不能使用POST方法。 但是,如果您不想使用GET方法,这是一个简单的技巧。

You can use cookies and then 
function OnButtonClick() {
    setCookie("param1",value1,30);
    setCookie("param2",value2,30); // and so on, fetch input names and values using javascript 
    window.location.href = "Home/MyActionResult"
}
然后,您可以从MyActionResult页面获取cookie值并使用它。

当然,您还必须在页面中包含setCookie函数。