在ASP.NET MVC4中获取模型的QueryString

时间:2013-10-17 18:49:24

标签: asp.net asp.net-mvc asp.net-mvc-4

我有一个基于模型的简单表格。

我必须支持的一个功能是能够创建模型当前参数的URL。例如:

Form Begin
  Model.Name
  Model.Age
Form End

然后在javascript中如何得到:

http://Site/Controller/Action?Name=Bill&Age=45

是否有一个帮助器将采用当前状态并生成一个Url?

原因是我需要能够使用模型的值打开一个新窗口,同时保留表单和页面。

3 个答案:

答案 0 :(得分:2)

您应该可以在javascript中执行类似的操作

var url = "@Html.Action("Action", "Controller", new { Name = Model.Name, Age = Model.Age})";
window.open(url);

答案 1 :(得分:1)

使用window.location,然后使用window.open在新窗口/页面/选项卡中打开它。 例如: var myURL = window.location.href;然后使用window.open(myURL)

答案 2 :(得分:0)

AFAIK,没有办法得到你想要的东西(虽然好主意)。我赞成NKD是因为你的问题的第二部分是关于如何在新窗口中打开浏览器(也许你已经知道如何做到这一点)。

您需要使用JQuery / Javascript方式获取所需的值。或者,您可以制作一个快速的客户帮助程序,在其中为您提供您所关注的密钥名称,它会找到并将其还给您,即:

function GetValueFromForm(key)
{
   return $('#' + key).val();
}

然后你称之为:

var url = '/SomeAction?name=' + GetValueFromForm('Name') + '&age=' + GetValueFromForm('Age');

或者,如果数据没有改变,那么只需使用javascript中的Model值:

var url = '/SomeAction?name=' + @Model.Name + '&age=' + @Model.Age;