asp.net mvc视图页面上有一个webform控件吗?

时间:2009-10-01 20:14:59

标签: c# asp.net-mvc

asp.net mvc视图页面上是否有webform控件?

我想我以前读过它,但我不确定它是如何工作的,因为MVC不使用viewstate等?

4 个答案:

答案 0 :(得分:6)

可以,但Viewstate不可用。因此,如果控件依赖于视图状态,则可能会出现故障。

此外,活动不会随时可用。

答案 1 :(得分:1)

我确切知道的是,任何实现IPostBackEventHandler或IPostBackDataHandler的控件都会自动失败 - 它们会抛出一个异常,说明你需要<form runat="server">

尽管如此,您应该避免在MVC应用程序中使用ASP.NET WebForms服务器控件。

答案 2 :(得分:1)

不要忘记MVC实现了REST,所以ViewState现在已经过时了,除非你自己使用say hidden fields来实现它。

关于WebForm控制的唯一优点是Ajax恕我直言。

如果用部分视图,WebControl类和jQuery插件替换WebForm控件,那么你可以实现相同的目标。

我目前正倾向于编写自己的WebControls和jQueryPlugins,并在PartialViews中引用它们。

现在有大量的jQuery插件可以执行WebForm控制所做的几乎所有操作。

答案 3 :(得分:0)

不是大多数Web控件,因为它们依赖于ControlState,在某些情况下依赖于ViewState。像Telerik这样的第三方正在调整他们的控制来解决这个问题,但是长期目标是让人们构建更多基于JavaScript,jQuery,JSON等标准的新控件。