Bar*_*ğlu 29 asp.net-mvc razor
我有一个像下面这样的剃须刀模板.我想检查输入字段中的值是否为null,放入一个空字符串,如果@UIManager.Member.EMail有一个值,则将其值放入.我怎样才能做到这一点?
正常输入:
<input name="EMail" id="SignUpEMail" type="text" class="Input"
value="@UIManager.Member.EMail" validate="RequiredField" />
Run Code Online (Sandbox Code Playgroud)
剃刀语法尝试:
<input name="EMail" id="SignUpEMail" type="text" class="Input" validate="RequiredField"
value="@(UIManager.Member == null) ? string.Empty : UIManager.Member.EMail" />
Run Code Online (Sandbox Code Playgroud)
输入字段中显示的值为:
True ? string.Empty : UIBusinessManager.MemberCandidate.EMail
Run Code Online (Sandbox Code Playgroud)
Mar*_*ell 59
如果听起来像你只是想:
@(UIManager.Member == null ? "" : UIManager.Member.Email)
Run Code Online (Sandbox Code Playgroud)
注意括号的位置是至关重要的; 使用razor,@(....)定义代码的显式范围 - 因此括号外的任何内容都被视为标记(而不是代码).
Kyl*_*Mit 20
这正是NullDisplayText属性[DisplayFormat]属性的用途.
直接在您的模型上添加:
[DisplayFormat(NullDisplayText="", ApplyFormatInEditMode=true)]
public string EMail { get; set; }
Run Code Online (Sandbox Code Playgroud)
Gha*_*zni 18
在cshtml中检查模型的某些属性.
@if(!string.IsNullOrEmpty(Model.CUSTOM_PROPERTY))
{
<p>@Model.CUSTOM_PROPERTY</p>
}
else
{
<p> - </p>
}
Run Code Online (Sandbox Code Playgroud)
所以最好的方法是这样做:
@(Model.CUSTOM_PROPERTY ?? "-")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85512 次 |
| 最近记录: |