ASP.NET MVC视图 - 我可以使用代码隐藏

时间:2008-12-10 04:45:34

标签: asp.net-mvc model-view-controller code-behind

我是MVC新手,我注意到所有混合脚本标签的视图页面看起来都很糟糕。在视图代码隐藏中的方法中生成HTML然后只是将方法的字符串结果作为单个脚本插入是否有意义?

例如:<div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

这与MVC理念相反吗?愚蠢的其他一些原因,如表现?它有什么优点吗?

4 个答案:

答案 0 :(得分:10)

这是一个实践问题。

这是一篇有趣的读物。

  1. Codebehind files are evil

  2. Codebehind files are not evil

  3. “Rob Conery”也有一篇有趣的文章

    1. Inline Scripting and Code behind
    2. 所以,选择权归你的。这取决于你的应用程序架构,你想如何构建它,等等......

      我认为没有代码隐藏的视图的优点是更容易切换到不支持代码隐藏的不同viewengine。

      虽然会有一些工作量,但仍然会很无缝。

答案 1 :(得分:1)

好的,为学习曲线写下另一个。我想我可能已经找到了自己问题的答案......

ASP MVC允许您安装自己可以使用的自定义视图引擎(而不是默认的ASP.NET视图引擎)。所以你可以控制html的生成。一旦你知道要搜索什么,它很容易:)

这是一个开始的好地方:Custom View Engine Example

@Rajesh - 感谢您的精彩链接!

答案 2 :(得分:1)

我不会。你只需要严肃地忘记代码隐藏文件。事实上,在MVC框架RC1中,默认情况下,您的视图没有代码隐藏文件。无论您想要继续渲染视图的c#处理,都可以使用HTML内联。如果您正在考虑进行一些数据处理,请帮自己一个忙,并将其放入控制器中。

这是一种范式转变,现在最好打破你的旧习惯。

答案 3 :(得分:0)

您也可以使用背后的代码。这只是风格偏好的问题。