在mvc中,頁面不會像asp.net那樣回發,那麼我們如何在asp.net mvc2中執行回發操作。爲什麼當有人選擇一個chech box時如何執行特定的動作? 預先感謝如何在ASP.NET MVC中執行PostBack操作?
回答
WebForms中回發模型背後的機制稱爲HTTP POST。這是用戶輸入如何傳回服務器的方式。
您可以手動完成。手動將JavaScript處理程序附加到複選框「onclick」事件,並對某個url執行POST請求。在那裏,這個請求會在你做你想做的事情時觸發一些控制器行爲。例如,更新模型(選中/取消選中該複選框)並返回POST源自的相同視圖。該視圖現在將顯示該複選框的不同狀態。
WebForms機制幾乎完全相同,儘管這些東西都是從您的抽象出來的。有了ASP.NET MVC,你需要學習如何獨立完成它(這總是一件好事)。
我嘗試用'Html.BeginForm'封裝每一行,然後創建一個複選框來執行回發。但是當行動到達時,我得到一個新創建的模型,原始值全部丟失。 – Shimmy 2012-11-18 04:30:01
您的控制器上的MVC Action方法有點是您的'PostBack'處理程序。
從一個更簡單的例子開始;一個簡單的HTML表單發佈:
<form action="/MyController/MyAction" method="post">
<input type="text" name="myName" />
<input type="submit />
</form>
現在在您的控制器操作中,您可以獲取發佈的值並執行您的任務。完成後,讓瀏覽器回來它需要的東西:
public class MyController: Controller
{
public ActionResult MyAction(string myName)
{
// Do something with myName
return new ContentResult { Content = "Hello " + myName };
}
}
至於複選框,它是不同的。你需要學習Javascript(jQuery是最常用的庫),並使用它來發布操作。例如,您可以連接複選框'onclick()' event並執行XHR--瀏覽器特定的Javascript操作,post (you can use jQuery for that too)到您的控制器。
因此,您需要開始思考不同於webforms抽象,並參與HTML,HTTP和Javascript。
你可以把這樣的一個MVC剃刀頁面內:
if (Request.HttpMethod=="POST") {
}
- 1. asp.net MVC 2如何執行操作?
- 2. 如何在ASP.net中執行此操作?
- 3. 如何在ASP.NET MVC 5中執行編輯操作?
- 4. asp.net mvc postback
- 5. asp.net mvc javascript postback
- 6. asp.net mvc postback
- 7. 在操作之外執行異步操作asp.net mvc
- 8. 如何在asp.net mvc中執行驗證?
- 9. 操作在ASP.NET MVC
- 10. 如何中止ASP.NET MVC中的操作
- 11. asp.net mvc執行摘要視圖中的OrderProduct操作
- 12. 強制同步執行ASP.NET MVC中的異步操作4
- 13. jQuery AJAX加載不在ASP.NET MVC控制器上執行操作
- 14. 如何在ASP.NET/WCF中定期執行某些操作?
- 15. 如何在asp.net中執行以下操作?
- 16. 如何在Python中執行非操作?
- 17. 如何在Drupal中執行此操作?
- 18. 如何在numPy中執行此操作?
- 19. 如何在Prolog中執行此操作?
- 20. 如何在shell中執行此操作?
- 21. 如何在drupal中執行php操作
- 22. 如何在SQL中執行此操作?
- 23. 如何在Groovy中執行此操作?
- 24. 如何在Netezza中執行Matrix操作?
- 25. 如何在jQuery中執行此操作?
- 26. 如何在elasticsearch中執行MINUS操作
- 27. 如何在each_char中執行此操作?
- 28. 如何在SQLAlchemy中執行此操作?
- 29. 如何在CSS中執行此操作
- 30. UWP:如何在BackgroundTask中執行操作
我建議你閱讀並理解MVC模式(http://en.wikipedia.org/wiki/Model%E2%80 %93view%E2%80%93controller)以及它如何應用於ASP.NET MVC實現(http://www.asp.net/mvc/)。 – Lazarus 2010-02-10 12:07:23
爲什麼哦,爲什麼這是被低估?對於一個新加入MVC的人來說,他們花時間在Webforms上,這是一個相當有效的問題。如果SO是有問題答案的地方,那就是獎金! =) – Rob 2010-02-10 12:25:09