简而言之,我试图在我提交的页面上找到一个锚点。
所以我的代码看起来像:
@using (Html.BeginForm("Times#" + Model.SelectedTimeSort, "Patron", FormMethod.Post, new { id = "frmBuildings" }))
但在形式上它是:
<form action="/Times%23Evening" id="frmBuildings" method="post">
如何设置它以提交和传递锚标记?
简而言之,我试图在我提交的页面上找到一个锚点。
所以我的代码看起来像:
@using (Html.BeginForm("Times#" + Model.SelectedTimeSort, "Patron", FormMethod.Post, new { id = "frmBuildings" }))
但在形式上它是:
<form action="/Times%23Evening" id="frmBuildings" method="post">
如何设置它以提交和传递锚标记?
假设您在应用程序上发布到另一个 MVC 方法:
您需要向页面添加一些 JavaScript,然后在 ViewModel 中添加在 MVC 控制器回发代码中设置的 Anchor 字符串属性,当视图加载时,javascript (onLoad) 可以检测参数并将页面滚动到锚点:
location.hash = "#" + "@(Model.MyAnchorName)";
只需摆脱 Html.BeginForm 并使用带有 Url.Action的 html表单标签
<form action="@Url.Action("Times", "Patron")#@Model.SelectedTimeSort" id="frmBuildings" method="post">
</form>
根据正确答案依赖javascript似乎只是为了保留“BeginForm”。