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