使用MVC,如何在表单提交上传递锚标记?

时间:2012-10-04 13:52:50

标签: html asp.net-mvc

简而言之,我正试图在我提交的页面上找到一个锚点。

所以我的代码如下:

@using (Html.BeginForm("Times#" + Model.SelectedTimeSort, "Patron", FormMethod.Post, new { id = "frmBuildings" }))

但在表格中它出现:

<form action="/Times%23Evening" id="frmBuildings" method="post">

如何设置此项以提交并传递锚标记?

2 个答案:

答案 0 :(得分:2)

假设您要在应用程序上发布另一个MVC方法:

你需要在页面中添加一些JavaScript,然后在你的ViewModel中添加一个在MVC控制器回发代码中设置的Anchor字符串属性,当视图加载javascript(onLoad)时可以检测参数并滚动页面到锚:

location.hash = "#" + "@(Model.MyAnchorName)"; 

答案 1 :(得分:1)

摆脱Html.BeginForm并使用带有Url.Action的html 表单标记

<form action="@Url.Action("Times", "Patron")#@Model.SelectedTimeSort" id="frmBuildings" method="post">
</form>

依靠javascript每个正确的答案似乎过度杀戮只是为了保持“BeginForm”。