有没有比@if @else更好的方法来改变用Razor视图构建的cshtml页面中html元素的一些属性(如disabled,value,class等)?MVC3 Razor查看优化
0
A
回答
0
MVC 4 /剃刀V2将有一些改进:
条件属性渲染
如果您有可能为空,在过去的你需要做一个空检查,以避免写出一个空的属性,像这样的属性:
<div @{if (myClass != null) { <text>class="@myClass"</text> } }>Content</div>
现在剃刀能够处理自动地,所以你可以只写出属性。如果它为空,则该属性不会被写入:
<div class="@myClass">Content</div>
所以,如果@myClass
是null
,输出仅仅是这样的:
<div>Content</div>
+0
那会是惊人的功能..喜欢它:) – Aman 2012-03-15 22:49:55
0
我不知道为什么你认为有剃刀@if
任何性能缺陷,但你可以用你的ViewModel
或ViewBag
此:
<input type="text" value="@(ViewBag.TheValue)" />
但对于最佳实践,不要混用服务器端逻辑与演示文稿。 “单独的担忧”
更新(我干了什么意思“单独的担忧”):
这意味着视图应该包含尽可能多的,因为它可以,HTML标记和HTML助手(这只是帮助你写标记)。不要把视图内的逻辑。如果它让你把代码放在里面,不要重复使用相同的视图。
0
您可以在视图模型将它们作为真/假值或字符串值。 例如 -
- 任何需要动态设置为启用或禁用 - 您可以创建一个布尔
- 任何HTML类,它是在运行时设置一个字符串,可以作为一个字符串变量传递你的视图模型。
等
这将清理所有@if的你的剃须刀意见else语句
2
您可以使用内嵌条件语句,以及:
<input type="text" value="@(true == true ? "one value" : "another value")" />
相关问题
- 1. SQL查看优化
- 2. 在postgresql中查看优化
- 3. 滚动查看优化
- 4. Razor MVC Infragistics查看
- 5. 通过Javascript传递值给控制器返回查看MVC3 Razor
- 6. Razor MVC3保持全局变量设置返回查看
- 7. asp.net MVC3查看
- 8. Razor formating-MVC3
- 9. MVC3 Razor ViewData
- 10. javascript razor mvc3
- 11. ASP.NET MVC3在查看
- 12. MVC @Razor查看与收藏
- 13. Razor mvc3 + jquery + UrlAction + PartialViews
- 14. Asp.Net MVC3(Razor Viewport),ValidationMessageFor?
- 15. asp.net MVC3 razor webgrid EditColumn
- 16. MVC3 Razor SelectList.MakeSelection问题
- 17. Ajax在ASP.NET MVC3 Razor
- 18. MVC3 Razor模板 - EditorForModel
- 19. asp.net mvc3 razor文档?
- 20. SciPy的优化 - 查看步骤程序
- 21. MVC3查看多个模型
- 22. mvc3部分查看错误
- 23. MVC3查看控制器
- 24. MVC3通例外,查看
- 25. ASP.net MVC3查看继承
- 26. ASP.NET MVC3查看类继承
- 27. MVC3 - Razor,Ajax.BeginForm - 客户端 - OnBegin
- 28. MVC3 Razor>输入字段
- 29. 在MVC3 Razor视图引擎
- 30. 在mvc3 Razor中绑定dropdownlist
好i'don't知道如何避免usinf “的if/else”。也许短if/else语法将帮助你@(true?“enabled”:“disabled”)。你可以创建助手或计数的其他方式属性,控制器 – 2012-03-14 21:48:52