我在互联网上环顾四周试图回答这个问题。虽然看起来有点复杂!似乎提出了各种不同的主题,如HtmlHelper和其他东西。
基本上。如何在MVC中使用自定义控件?以某种方式避免做任何不满意的事情。
另外,使用MVC你是否必须在页面中放入一些简单的逻辑?这不是我们应该摆脱的吗?
更新:所以,看起来你不能使用依赖于MVC所取消的任何东西的控件,例如回发事件和viewstate。你可以自己制作吗?当然只进行渲染的控件。
答案 0 :(得分:3)
您可以使用ASP.NET控件吗?也许。如果控件不使用ViewState或回发事件,它可能会起作用。例如,LoginView控件工作得很好。 Telerik通过一些控件支持ASP.NET MVC。另一方面,如果控件需要ViewState或回发,那么它就不会起作用。具有数据绑定的控件并不理想,因为您通常必须使用他背后的代码。但是如果你添加代码,它们将会起作用。
另一方面,不了解ASP.NET的控件(例如jQuery UI控件)可以很好地工作。
不,您不必将逻辑放在页面中。你也不要把它放在页面后面的代码上。相反,use helper methods。
答案 1 :(得分:1)
关于第二个问题,页面正是视图逻辑应该去的地方。任何其他逻辑应该在您的控制器或模型中。
我不确定自定义控件的含义。您可以使用通过partials呈现的ViewUserControl来重用视图代码。如果你在谈论为webforms构建的第三部分控件,它们很可能无法工作 - 至少在一段时间内。但是,如果你绝对必须拥有它们,那么有很多方法可以将MVC与传统的webforms混合在一起。