![]() |
1
4
这个问题有一个解决方案,尽管实现这个问题的方法比其他框架(如RubyonRails)要复杂一些。 我使用此方法为Twitter引导程序的控制组语法创建标记,如下所示:
以下是如何: 1)为公共标记段创建一个模型。模型应该在构造上写标记,在释放上写标记:
2)创建一个漂亮的HTML助手
3)在视图中使用(Razor代码)
这也是MVC框架使用
|
![]() |
2
1
好吧,您不会像那样呈现部分,将它传递给强类型的ViewModel,如下所示:
因此,可以在局部视图中执行此操作:
等 |
![]() |
3
1
在考虑了答案并运行了一个实验之后,我倾向于坚持纯MVC方法,并在整个视图页面中复制一些表示代码。我想详细说明这个决定的理由。 局部视图 当使用部分视图时,需要将框的内容作为视图模型传递,这使得视图页面的可读性比当场声明内容HTML差。记住,内容不是来自CMS,因此这意味着在控制器中用HTML填充视图模型,或者在视图页面中设置局部变量。这两种方法都无法利用IDE特性来处理HTML。 基类 另一方面,WebControl派生类是不受欢迎的,而且也有一些实际问题。传统ASP.NET.ASPX页的声明性、层次性样式与MVC.NET视图页的过程性样式不匹配是一个主要问题。您必须选择一种完全成熟的传统方法,或者完全采用MVC。
为了说明这一点,我的实验实现中最突出的问题是变量范围:当迭代产品列表时,MVC方法是使用
普通HTML 完全放弃抽象,只剩下重复的表示代码。这是对干,但产生非常可读的代码。 |
![]() |
4
0
在我看来,WebForms不像HTML那么少,它更像是一种横向移动。在MVC中使用分部可以使它更清晰,但是您需要的HTML标记仍然存在于那里,在一个地方或另一个地方。如果大部分额外的HTML让您感到不安,您可以查看nhaml视图引擎或查看haml。 the haml website . 我绝对不是哈姆语专家,但HTML看起来确实更干净…
|
![]() |
Boucherie · 为Rails中的布局类实例变量选择控制器 6 年前 |
![]() |
james · 渲染多个部分时多次调用Rails yield 6 年前 |
![]() |
Sanjalee Patni · AngularJS:局部视图未渲染 7 年前 |
![]() |
MariusJ · 调用部分视图时JavaScript不工作 7 年前 |
![]() |
ribald · 基于自动完成选择加载局部视图 7 年前 |