当前位置:  开发笔记 > 编程语言 > 正文

Microsoft MVC"echo/print/output"等

如何解决《MicrosoftMVC"echo/print/output"等》经验,为你挑选了1个好方法。

使用ASP.NET的视图引擎/模板aspx/ashx页面,吐出到屏幕的方式似乎是:

<%= Person.Name %>

对于webforms来说很好,因为很多模型数据都以编程方式绑定到控件上.但是对于MVC,我们现在更多地使用这种语法.

我遇到的问题非常简单,但无论如何都很烦人.这似乎打破了标记,即:

<% foreach(var Person in People) { %>
    <%= Person.Name %>
<% } %>

这对我来说似乎有很多开关标签!

MVC contrib中的其他视图引擎有一种吐出到屏幕的方法,不使用标准关键字打开和关闭脚本标记,例如"print,out,echo"即(brail示例):

<% 
for element in list:
      output "
  • ${element}
  • " end %>

    现在,我说这看似微不足道,但这样看起来更具可读性.那么具有这种语法的MS有什么优势,而不提供输出方法呢?

    干杯,克里斯.



    1> John Rudy..:

    考虑这样的事情,而不是:

    <% foreach(var Person in People) { 
        Response.Write(Person.Name); 
    } %>
    

    我相信这会奏效.(虽然我还没有测试过;我刚刚开始使用MVC而且办公室里没有工具集.)

    编辑:我显然错过了实际的问题...... :)

    Microsoft确实提供了输出方法,但没有提供与您描述的语法类似的语法.输出方法是Response.Write().我不能直接回答这个问题(我相信你需要在MS上查看Scott Hanselmann :)),但我认为他们不想通过添加另一种语言让我们学习来复杂化脚本.我认为他们想利用开发人员已经知道的语言(C#,VB等).

    编辑#2:我将以下内容放在评论中,回想起来(为了完整性),它应该是答案的一部分.

    如果您前往ASP.NET上的Learn MVC站点,在视图教程(即链接)中,您将看到以下段落:

    由于您Response.Write()经常打电话,Microsoft为您提供了调用该Response.Write()方法的快捷 方式.清单3中的视图使用分隔符<%=%>作为调用的快捷方式 Response.Write().

    从本质上讲,<%= %>它是可接受的快捷方式Response.Write,因此您可以在Response.Write任何地方使用完整方法<%= %>.

    推荐阅读
    jerry613
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有