在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