我曾在接受采访时被问过"在aspx页面中使用C#代码内联的原因是什么".我无法回答,所以我很好奇.为什么要这样做而不是使用代码?有技术原因吗?
这不是一个一般建议的做法写内嵌代码,因为WebForms的大量使用产生HTML输出和表示逻辑,预计由他们来处理"控制"的.例如,要迭代数据数组,您宁愿使用而asp:Repeater不是foreach循环.在这种情况下使用循环会闻起来很糟糕,并且当标记和代码像意大利面一样混合时,会提醒经典的ASP时代.我只能想到使用Response.Write内联来输出调试消息.
这是一个完全不同的情况.因为MVC不鼓励使用"控件"来支持干净的手工编码HTML标记,所以内联代码是为模型视图生成HTML的首选方式.当然,它还取决于您在内联代码中的具体操作.我的经验法则是,当控制器可以轻松获得渲染视图所需的所有数据时,使用内联代码.内联代码应该只包含表示逻辑,例如根据条件显示或隐藏字段,从资源获取字符串,枚举模型中的数组等.您永远不应该从视图中与数据库交谈 - 这是什么控制器是为了.
有些人在ASP .NET MVC中使用内联代码感到不舒服,因为他们在编写WebForms时已经了解到"内联代码不好".这是一种误解,我对它的回答是内联代码只有在执行除表示逻辑之外的其他操作时才会出错.在WebForms中,这个逻辑由MVC中的控件处理 - 由内联代码处理,因此这里没有真正的问题.
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |