如果value为null,则在razor模板上放一个空字符串?

时间:2011-08-17 08:19:49

标签: asp.net-mvc razor

我有一个像下面这样的剃须刀模板。我想检查输入字段中的值是否为空,放置一个空字符串,如果@UIManager.Member.EMail有值,则设置其值。我怎么能这样做?

正常输入:

<input name="EMail" id="SignUpEMail" type="text" class="Input" 
       value="@UIManager.Member.EMail" validate="RequiredField" />

Razor语法尝试:

<input name="EMail" id="SignUpEMail" type="text" class="Input" validate="RequiredField"
       value="@(UIManager.Member == null) ? string.Empty : UIManager.Member.EMail" />

输入字段中显示的值为:

True ? string.Empty : UIBusinessManager.MemberCandidate.EMail

5 个答案:

答案 0 :(得分:55)

如果听起来像你想要的那样:

@(UIManager.Member == null ? "" : UIManager.Member.Email)

注意括号的位置是至关重要的;使用剃刀,@(....)为代码定义显式范围 - 因此括号内的任何 括号都被视为标记(而不是代码)。

答案 1 :(得分:20)

这正是Polygon like shape...it has 2 carvesNullDisplayText属性的用途。

直接在您的模型上添加:

[DisplayFormat(NullDisplayText="", ApplyFormatInEditMode=true)]
public string EMail { get; set; }

答案 2 :(得分:17)

在cshtml中检查模型的某些属性。

@if(!string.IsNullOrEmpty(Model.CUSTOM_PROPERTY))
{
    <p>@Model.CUSTOM_PROPERTY</p>
}
else
{
    <p> - </p>
}

这样做的最好方法是:

@(Model.CUSTOM_PROPERTY ?? "-")

答案 3 :(得分:1)

使用null conditional operator

<ion-label><a href="http://www.example.com">and I agree to the Terms and Conditions</a></ion-label>
<ion-checkbox name="agreement" ng-model="myCtrl.agreement"></ion-checkbox>

答案 4 :(得分:0)

当值为空时,您不需要属性

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Resource": "*",
            "NotAction": [
                "iam:*",
                "organizations:*",
                "account:*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-east-2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:DeleteServiceLinkedRole",
                "iam:ListRoles",
                "organizations:DescribeOrganization",
                "account:ListRegions"
            ],
            "Resource": "*"
        }
    ]
}