asp.net-mvc – 如果在剃刀视图中使用ELSE帮助器?
发布时间:2020-12-16 07:06:31 所属栏目:asp.Net 来源:网络整理
导读:我想在Razor视图中使用IF ELSE语句.是否可以使用IF(html.helper)然后做一些事情?还是有什么建议吗? @using (Html.BeginForm()){ table @for (int i = 0; i Model.Count; i++) { tr td @Html.HiddenFor(m = m[i].Question_ID) @Html.HiddenFor(m = m[i].Typ
我想在Razor视图中使用IF ELSE语句.是否可以使用IF(html.helper)然后做一些事情?还是有什么建议吗?
@using (Html.BeginForm()) { <table> @for (int i = 0; i < Model.Count; i++) { <tr> <td> @Html.HiddenFor(m => m[i].Question_ID) @Html.HiddenFor(m => m[i].Type) @Html.DisplayFor(m => m[i].Question) </td> </tr> <tr> @if(@Html.DisplayFor(m=> m[i].Type =="Info_Text") ** { <td> //DO NOTHING </td> } else { <td> @Html.EditorFor(m => m[i].Answer) </td> } </tr> } </table> 解决方法
正如我在评论中提到的,你可以直接测试m [i] .Type的值:
@if (m[i].Type == "Info_Text") { <td></td> } else { <td>@Html.EditorFor(m => m[i].Answer)</td> } 你不会测试DisplayFor的值的原因是它返回一个MvcHtmlString,而不仅仅是一个简单的类型,如字符串或int.如果你有一天发现需要与DisplayFor进行比较,你可以做这样的事情(希望这会让一切变得更有意义): @if (Html.DisplayFor(m => m[i].Type) == new MvcHtmlString("Info_Text")) 由于您正在学习MVC,您可能还对如何自定义EditorFor帮助程序以自动执行此操作感兴趣:http://www.hanselman.com/blog/ASPNETMVCDisplayTemplateAndEditorTemplatesForEntityFrameworkDbGeographySpatialTypes.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – Asp.Net MVC 2 Label自定义文本
- 是否值得使用ASP.Net内置的配置文件系统?
- .net – 如何使用Roslyn添加对内存流中编译的类型的引用?
- asp.net – 如何使用文件上传控件选择多个文件?
- 在asp.net中使用eval(“”)
- asp.net-mvc – 属性的自定义模型binder
- asp.net – 在Visual Studio中查找CSS类引用的快捷方式?
- asp.net – 在Load事件中使用LoadControl的陷阱
- 多租户成员资格提供程序ASP.NET MVC
- asp.net-mvc – 如何防止EnumDropDownListFor将0设置为opti
推荐文章
站长推荐
- asp.net – jqgrid editurl:控制器动作参数
- 构建ASP.NET应用程序 – 最佳实践
- asp.net – “用户首选项”数据库表设计
- asp.net-mvc – 使用WCF/OData作为访问层而不是直
- asp.net – 检测是否加载了HttpModule
- asp.net-mvc – 在ASP.NET MVC中使用DotNetOpenI
- asp.net – 是否可以完全在代码中配置ELMAH?
- asp.net – 无论如何要在上传之前确定文件大小?
- 并行运行ASP.NET Webforms和ASP.NET MVC
- asp.net-mvc – ASP.NET MVC 5和HTML 5根据W3C规
热点阅读