【发布时间】:2011-10-20 00:23:14
【问题描述】:
我正在使用 asp.net mvc3 构建一个移动站点,并且刚刚开始了解 mvc 框架。我有一个要求,我不能使用 javascript,因为有些手机不兼容。我有一个正在回发中验证的表单。如果验证无效,我想将页面重新加载到表单而不是页面顶部。是否可以让我的控制器告诉视图加载到表单 ID 而不是只说return View("ViewName");?
感谢您的帮助, 乙
【问题讨论】:
我正在使用 asp.net mvc3 构建一个移动站点,并且刚刚开始了解 mvc 框架。我有一个要求,我不能使用 javascript,因为有些手机不兼容。我有一个正在回发中验证的表单。如果验证无效,我想将页面重新加载到表单而不是页面顶部。是否可以让我的控制器告诉视图加载到表单 ID 而不是只说return View("ViewName");?
感谢您的帮助, 乙
【问题讨论】:
如果没有 javascript,最好的办法是使用 anchors:
<a name="foo"></a>
<form action="@Url.Action(null)#foo" method="post">
...
<input type="submit" value="OK" />
</form>
当您提交表单时,它会发布到以下 url /Home/Index#foo,它应该会自动滚动浏览器到相应的锚点,该锚点位于表单顶部。
【讨论】:
查看这个不错的解决方案(还有很多,但那个非常高效且小巧):How do I maintain scroll position in MVC?
【讨论】: