加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 如何在Razor中创建一个else if语句?

发布时间:2020-12-15 23:16:24 所属栏目:asp.Net 来源:网络整理
导读:我试图在表中显示一些行.根据UserGroup,视图应该显示不同的标记.管理员可以删除行,但主持人只能将其标记为可见或不可见. 如何在Razor中写一个适当的if else语句? 页面正确显示,但页面标题为“解析错误” 这是我的代码: @model MvcApplication3.Models.View
我试图在表中显示一些行.根据UserGroup,视图应该显示不同的标记.管理员可以删除行,但主持人只能将其标记为可见或不可见.

如何在Razor中写一个适当的if else语句?

页面正确显示,但页面标题为“解析错误”

这是我的代码:

@model MvcApplication3.Models.ViewModels.New.Question.MatrixRows

@{
    bool visible = Model.Visible;
}

<tr>
    <td>
    @if(visible) 
        {
        @Html.TextBoxFor(cn => Model.Row_Number,new { @class = "row required digits",size = 1 })
        }
    @if (!visible)
        {
        @Html.TextBoxFor(cn => Model.Row_Number,size = 1,disabled = "disabled" })
        }
    </td>
    <td>
    @if(visible) 
        {
            @Html.TextBoxFor(bs => Model.Row_Description,new { @class = "rowdesc",size = 45 })
        }
    @if (!visible)
    {
        @Html.TextBoxFor(bs => Model.Row_Description,size = 45,disabled = "disabled" })
    }
    </td>
    <td>
        @if (HttpContext.Current.User.IsInRole("Administrator"))
        {
            @Html.HiddenFor(x => x.Delete,new { @class = "mark-for-delete" })
            @Html.LinkToRemoveNestedForm("Slet","tr","input.mark-for-delete")    
        }
        @if (HttpContext.Current.User.IsInRole("Moderator"))
        {
            @Html.HiddenFor(x => x.Visible,new { @class = "mark-for-visible" })
            @Html.LinkToDisableNestedForm("Deaktiver","input.mark-for-visible")    
        }
        @Html.HiddenFor(id => Model.Row_Id)
    </td>
</tr>

解决方法

标题有解析错误,因为您没有设置标题:
@{
    ViewBag.Title = "Home Page";
}

现在为了一个else语句,不要使用@语法:

@if(visible) 
{
    Html.TextBoxFor(bs => Model.Row_Description,size = 45 })
}
else
{
    Html.TextBoxFor(bs => Model.Row_Description,disabled = "disabled" })
}

你正在检查一个布尔值,你只需要一个别的.另外如果,它的工作原理相同.

您的代码可以通过以下方式进一步简化:

@Html.TextBoxFor(bs => Model.Row_Description,disabled = visible ? "" : "disabled" })

因为您正在显示相同的代码,只需根据值更改属性.对我来说,这变得更加可读.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读