我正在使用哈希来打开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>
答案 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请求中不包含哈希值,因此我不确定您要在此处完成什么。