我是 MVC 的新手,我注意到视图页面在所有混合的脚本标签中看起来很讨厌。在视图代码隐藏中的方法中生成 HTML 然后将方法的字符串结果作为单个脚本插入是否有意义?
例如:<div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>
这是否与 MVC 哲学相悖?出于其他原因而愚蠢,比如性能?它有什么优点吗?
我是 MVC 的新手,我注意到视图页面在所有混合的脚本标签中看起来很讨厌。在视图代码隐藏中的方法中生成 HTML 然后将方法的字符串结果作为单个脚本插入是否有意义?
例如:<div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>
这是否与 MVC 哲学相悖?出于其他原因而愚蠢,比如性能?它有什么优点吗?
这是一个实践问题。
这是一个有趣的读物。
还有一篇有趣的文章“Rob Conery”
所以,选择权在你。这取决于您的应用程序架构,您希望如何构建它,等等等等……
我想没有代码隐藏的视图的优点是更容易切换到不支持代码隐藏的不同视图引擎。
虽然会有一些工作量,但它仍然是无缝的。
好的,为学习曲线写下另一个。我想我可能已经找到了我自己问题的答案......
ASP MVC 允许您安装您自己的自定义视图引擎,您可以使用它们(而不是默认的 ASP.NET 视图引擎)。所以你可以控制html的生成。一旦你知道要搜索什么,它就很容易:)
这是一个开始的好地方:自定义视图引擎示例
@Rajesh - 感谢伟大的链接!
我不会。你只需要认真地忘记代码隐藏文件。事实上,默认情况下,在 MVC Framework RC1 中,您的视图没有代码隐藏文件。无论您想继续使用什么 c# 处理来呈现您的视图,您都可以在 HTML 中进行内联处理。如果您正在考虑进行一些数据处理,请帮自己一个忙并将其放入控制器中。
这是一种范式转变,最好现在就打破你的旧习惯。
您也可以使用后面的代码。这只是风格偏好的问题。