我有一个基于模型的简单表格。
我必须支持的一个功能是能够创建模型当前参数的URL。例如:
Form Begin
Model.Name
Model.Age
Form End
然后在javascript中如何得到:
http://Site/Controller/Action?Name=Bill&Age=45
是否有一个帮助器将采用当前状态并生成一个Url?
原因是我需要能够使用模型的值打开一个新窗口,同时保留表单和页面。
答案 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;