Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net mvc视图页上是否可以有webform控件?_C#_Asp.net Mvc - Fatal编程技术网

C# asp.net mvc视图页上是否可以有webform控件?

C# asp.net mvc视图页上是否可以有webform控件?,c#,asp.net-mvc,C#,Asp.net Mvc,asp.net mvc视图页上是否可以有webform控件 我想我以前读过,但我不确定它会如何工作,因为MVC不使用viewstate等?可以,但viewstate不可用。因此,如果控件依赖于viewstate,则可能会出现故障 此外,事件也不会随时可用。不是大多数web控件,因为它们依赖于ControlState,在某些情况下还依赖于ViewState。像Telerik这样的第三方正在调整他们的控件以避免出现这种情况,但长期目标是让人们构建新的控件,这些控件更多地围绕JavaScript、jQ

asp.net mvc视图页上是否可以有webform控件


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

可以,但viewstate不可用。因此,如果控件依赖于viewstate,则可能会出现故障


此外,事件也不会随时可用。

不是大多数web控件,因为它们依赖于ControlState,在某些情况下还依赖于ViewState。像Telerik这样的第三方正在调整他们的控件以避免出现这种情况,但长期目标是让人们构建新的控件,这些控件更多地围绕JavaScript、jQuery、JSON等标准构建,等等。

我可以肯定的是,任何实现IPostBackEventHandler或IPostBackDataHandler的控件都会自动失败——它们会抛出一个异常,告诉您需要一个


也就是说,您应该避免在MVC应用程序中使用ASP.NET WebForms服务器控件。

不要忘记MVC实现了REST,因此ViewState现在已经非常过时,除非您自己使用隐藏字段来实现它

WebForm控件的唯一优点是Ajax IMHO

如果您用局部视图、WebControl类和jQuery插件替换WebForm控件,那么您可以实现同样的效果

我目前倾向于编写自己的网络控件和jQueryPlugins,并在PartialView中引用它们

现在有大量jQuery插件可用,它们执行几乎所有WebForm控件所做的操作