2009-02-02 49 views
0

我在互联网上四处浏览,试图回答这个问题。虽然这似乎有点复杂!似乎想出各种不同的主题,如HtmlHelper和其他的东西。在MVC中处理ASP.Net自定义控件

基本上。你如何使用MVC的自定义控件?避免做任何令人不悦的事情。

另外,这是真的,与MVC你必须把一些简单的逻辑在页面上?这不是我们应该逃避的吗?

更新:所以,似乎你不能使用取决于MVC废除的任何东西的控件,例如回发事件和视图状态。你可以自己制作吗?当然只有渲染的控件。

+0

为什么如果他们与你有关联,你不会+1答案? – aleemb 2009-02-02 17:15:51

回答

3

你可以使用ASP.NET控件吗?也许。如果控件不使用ViewState或回发事件,它可能会工作。例如,LoginView控件工作得很好。 Telerik支持ASP.NET MVC的一些控件。另一方面,如果控件需要ViewState或回发,那么它就不会起作用。使用数据绑定的控件并不理想,因为您通常必须使用身后的代码。但是如果你在代码后面添加代码,他们将会工作。

另一方面,没有ASP.NET知识的控件(例如jQuery UI控件)工作得很好。

不,你不必把你的逻辑放在页面中。你只是不要把它放在页面后面的代码中。相反,use helper methods

1

关于第二个问题,页面正是视图逻辑应该去的地方。任何其他的逻辑应该在你的控制器或模型中。

我不确定自定义控件的含义。您可以让通过partials渲染的ViewUserControls重用视图代码。如果您正在讨论为webforms构建的第三方控件,那么它们很可能无法工作 - 至少一段时间。但是,如果您绝对必须拥有它们,则可以在同一个站点中将MVC与传统网络表单混合使用。