【问题标题】:code behinde file. does it make any sense in asp.net mvc?文件后面的代码。在 asp.net mvc 中有什么意义吗?
【发布时间】:2011-04-04 09:28:51
【问题描述】:

我有一个 asp.net mvc 项目,它仅由视图、控制器、模型和其他文件构建。我的视图中有任何代码隐藏文件。创建它们以供有时使用是否有意义?当他们为开发者提供更多的能力和优势时,是不是某种情况?

谢谢,保重, 拉吉姆斯

【问题讨论】:

标签: c# asp.net asp.net-mvc code-behind


【解决方案1】:

不,它们在 ASP.NET MVC 视图中完全没有意义。顺便说一句,它们在 ASP.NET MVC 2.0 视图中被完全删除。您可以通过添加一个来产生偏差,但您不应该这样做。

【讨论】:

  • 我相信如果你加一个,Scott Hanselman 会来你家踢你一美元。
【解决方案2】:

代码隐藏文件的存在是为了兼容性,以及在极少数情况下需要视图本身的逻辑。尽量不要在代码隐藏中包含任何代码,因为它破坏了 MVC 背后的想法,即将代码直接绑定到视图。

【讨论】:

  • 我可以在控制器中为视图本身编写任何类型的逻辑吗?
  • 重要的是要理解视图应该只使用控制器通过 ViewData 或通过模型的 GET 操作提供给它们的数据并对其进行操作。如果您需要任何其他逻辑,则应将其实现为 AJAX 调用(通过您最喜欢的 AJAX 库,例如 JQuery)或使用回发(回发到标有 POST 的控制器操作)。
【解决方案3】:

@Ragims,

无论 Scott Hanselman 是否会来踢我的 a$$,我都会在我的视图中嵌入我需要的所有代码,在 标记内。

话虽如此,我尝试在模型中完成大部分处理,由控制器代码触发。

我认为您不应该使用代码隐藏,而是将您需要的内容嵌入页面本身。 尽可能保持干净,并在里面使用服务器端 cmets

当你无法保持清洁时。

从长远来看,在模型或控制器中做事会更好。

Codebehind 与 CodeInPlace 没有任何我所知道的优势。

CodeInPlace 至少可以让您在 html 的上下文中查看代码。

是的,是的,我知道这让我们想起了 asp 时代。在那个年代,有些事情是很清楚的。 ymmv

【讨论】:

    猜你喜欢
    • 2011-10-11
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多