![]() |
1
4
乍一看,MVC不具备可重用组件的功能,很容易被忽略。 一旦你了解了ASP.NET MVC,你就会发现 several techniques for creating rich controls and components 以及MVC的封装方面 along the same pathways 封装WebForms应用程序。 我认为您所做的只是查看MVC的视图方面,而不是如何将所有底层M和C封装并绑定在一起。部分视图、渲染操作/部分只是MVC底层组件功能的一小部分。封面下面的内容丰富得多。 |
![]() |
2
5
我有点困惑。 首先,相当于用户控件的.NET MVC是 Partial Views . 局部视图是在单个位置封装公共视图功能的一种方便方法。然后,可以从另一个视图内部调用局部视图。 其次,修改视图并不意味着还需要修改控制器。如果仅仅因为视图发生了更改(而不是基础数据),就需要对两者都进行更改,那么在这一行的某个地方就会出现代码问题。 |
![]() |
3
2
一 用户控制 只是一些 呈现HTML的内容 在MVC中,您有HTML帮助器、部分视图和普通视图(您可以使用renderAction呈现它们)。
所以基本上只是帮手 实际上,您可以很容易地将呼叫替换为
具有
|
![]() |
4
1
请考虑以下示例:
Hth. |
![]() |
5
1
以电子商务网站的注册页为例。您提示用户输入他们的姓名、密码、邮政信息、最喜欢的狗品种等。在应用程序的其他地方,您还需要收集账单地址和送货地址。要强制DRY,您可以创建一个用户控件来管理地址信息的条目。 因此,为了进一步说明,您的地址类如下所示:
您的注册课程:
您的帐单和送货地址可能来自地址类:
对于以下示例,我假设您已添加
既然您已经这样做了,您只需要从页面传递适当的模型引用。在用户注册页中:
在“账单递送地址”页中:
在送货地址页中:
我可以直接从账单和发货页传递模型,因为类直接从地址下降。只要有正确处理地址的逻辑,就不必对控制器做很多更改(如果有的话)。 |