我正在用asp.net mvc3構建一個移動網站,並開始瞭解mvc框架。我有一個要求,我不能使用JavaScript,因爲有些手機不兼容。我有一個表單正在回發中進行驗證。如果驗證無效,我想重新加載頁面到表單而不是頁面的頂部。是否有可能讓我的控制器告訴視圖加載到表單ID而不是僅僅說return View("ViewName");
?asp mvc3:將頁面加載到特定元素ID
感謝您的幫助, 乙
我正在用asp.net mvc3構建一個移動網站,並開始瞭解mvc框架。我有一個要求,我不能使用JavaScript,因爲有些手機不兼容。我有一個表單正在回發中進行驗證。如果驗證無效,我想重新加載頁面到表單而不是頁面的頂部。是否有可能讓我的控制器告訴視圖加載到表單ID而不是僅僅說return View("ViewName");
?asp mvc3:將頁面加載到特定元素ID
感謝您的幫助, 乙
沒有JavaScript你最好的選擇是使用anchors:
<a name="foo"></a>
<form action="@Url.Action(null)#foo" method="post">
...
<input type="submit" value="OK" />
</form>
當您提交的形式,它會發布到以下網址/Home/Index#foo
應自動滾動瀏覽器相對應的錨栓這個名字w ^這只是表單的頂部。
看到這個很好的解決方案(有很多,但一個是非常有效的,小):How do I maintain scroll position in MVC?
感謝您的回覆。我在上面編輯我的帖子;我的一個要求是我不能使用js,因爲並非所有的移動平臺都支持js。我同意,但這個解決方案非常簡單但有效。 – bflemi3
如果JS被禁用,我認爲除了可能使用散列外,沒有辦法這麼做。 –
這給了我一個主意。對於同一頁面,我有兩個操作(一個用於發佈,另一個用於獲取)。在回發中,如果出現錯誤,我將重定向回同一頁面,但將散列追加到網址的末尾。這迫使get操作觸發並加載散列的頁面。 – bflemi3