Asp.net mvc 3 asp mvc3:将页面加载到特定元素id

Asp.net mvc 3 asp mvc3:将页面加载到特定元素id,asp.net-mvc-3,validation,Asp.net Mvc 3,Validation,我正在用asp.net mvc3构建一个移动站点,并且刚刚了解mvc框架。我有一个要求,我不能使用javascript,因为有些手机不兼容。我有一个表单正在回发中验证。如果验证无效,我希望将页面重新加载到表单中,而不是页面顶部。是否可以让我的控制器告诉视图加载到表单id,而不是只说返回视图(“ViewName”) 谢谢你的帮助, B看看这个不错的解决方案(还有很多,但那一个非常有效和小):看看这个不错的解决方案(还有很多,但那一个非常有效和小):如果没有javascript,你最好使用: ..

我正在用asp.net mvc3构建一个移动站点,并且刚刚了解mvc框架。我有一个要求,我不能使用javascript,因为有些手机不兼容。我有一个表单正在回发中验证。如果验证无效,我希望将页面重新加载到表单中,而不是页面顶部。是否可以让我的控制器告诉视图加载到表单id,而不是只说
返回视图(“ViewName”)

谢谢你的帮助,
B

看看这个不错的解决方案(还有很多,但那一个非常有效和小):

看看这个不错的解决方案(还有很多,但那一个非常有效和小):

如果没有javascript,你最好使用:


...

当您提交表单时,它将发布到以下url
/Home/Index#foo
,该url将自动滚动浏览器至表单顶部具有此名称的相应锚点。

如果没有javascript,您最好使用:


...

当您提交表单时,它将发布到以下url
/Home/Index#foo
,浏览器将自动滚动到表单顶部具有此名称的相应定位点。

感谢您的回复。我在上面编辑我的帖子;我的一个要求是我不能使用js,因为不是所有的移动平台都支持js。不过我同意,这个解决方案非常简单但很有效。如果禁用了JS,我认为除了使用哈希之外没有其他方法可以做到这一点。感谢您的回复。我在上面编辑我的帖子;我的一个要求是我不能使用js,因为不是所有的移动平台都支持js。不过我同意,这个解决方案非常简单但很有效。如果禁用JS,我认为除了使用哈希之外没有其他方法可以做到这一点。这给了我一个想法。对于同一页面,我有两个操作(一个用于post,一个用于get)。在回发中,如果出现错误,我将重定向回同一页面,但将哈希附加到url的末尾。这迫使get操作触发并加载带有hash的页面。这给了我一个想法。对于同一页面,我有两个操作(一个用于post,一个用于get)。在回发中,如果出现错误,我将重定向回同一页面,但将哈希附加到url的末尾。这将强制get操作触发并加载带有hash in tact的页面。
<a name="foo"></a>
<form action="@Url.Action(null)#foo" method="post">
    ...
    <input type="submit" value="OK" />
</form>