在URL MVC表单中追加字符串

时间:2017-02-16 02:15:36

标签: jquery asp.net-mvc bootstrap-modal

我正在使用哈希来打开mybootstrap模式。当我手动在URL中键入Home/Index#mymodal时,它可以正常工作。模态会自动显示。问题是当我想提交表格时。以下是我的代码。我尝试将表单定向到Home/Index#mymmodal。但网址显示Home/Index%23mymmodal?inputName=john。当我尝试手动更改网址Home/Index?inputName=john#mymmodal时,它可以正常工作。所以我尝试将#mymmodal附加到当前URL的末尾。我用过这个,但它不起作用。

$('.ajaxLink').click(function (e) {
  location.hash = this.id; // get the clicked link id
  e.preventDefault(); // cancel navigation

  // get content with Ajax...
});

这是我的代码:

<form method="get" action="@Url.Action("Index#mymodal", "Home")">
    <input type="text" name="inputName" Class="form-control">
</form>

<Button type="submit" value="search">Search</Button>

1 个答案:

答案 0 :(得分:1)

UrlHelper中的第一个参数映射到您要为其生成链接的操作。你的控制器上永远不会有一个名为Foo#Something的方法 - 这不是C#,VB.NET等中的有效标识符。

如果要在URL附加哈希值,请在帮助程序后添加:

<form method="get" action="@Url.Action("Index", "Home")#mymodal">
    <input type="text" name="inputName" Class="form-control">
</form>

但是,对服务器的HTTP请求中不包含哈希值,因此我不确定您要在此处完成什么。