Asp.net mvc 使用模型在Mvc视图中实现空检查逻辑 笔记 @Html.CustomTextArea(m=>m.Notes)

Asp.net mvc 使用模型在Mvc视图中实现空检查逻辑 笔记 @Html.CustomTextArea(m=>m.Notes),asp.net-mvc,Asp.net Mvc,在ASP.NET MVC中,我创建了一个自定义文本区域,并使用模型从数据库输入/显示数据。上面是代码,您可以看到注释被分配到@Html.CustomTextArea。 我的情况是,如果“m.Notes”中没有值,我需要显示文本“不适用” 我应该如何纠正上述代码中的逻辑?请指导。有多种可能的方法。其中一种方法是,您可以从加载控制器动作的位置填充控制器动作,如下所示: <div class="form-gridcontrol"> <label>Notes</la

在ASP.NET MVC中,我创建了一个自定义文本区域,并使用模型从数据库输入/显示数据。上面是代码,您可以看到注释被分配到@Html.CustomTextArea。 我的情况是,如果“m.Notes”中没有值,我需要显示文本“不适用”
我应该如何纠正上述代码中的逻辑?请指导。

有多种可能的方法。其中一种方法是,您可以从加载控制器动作的位置填充控制器动作,如下所示:

<div class="form-gridcontrol">
    <label>Notes</label>
    @Html.CustomTextArea(m => m.Notes)
</div>
另一种方法是在属性上引入backing字段,并在其getter中写入:

public ActionResult YourActionMethod()
{
     ............
     ............
     if(String.IsNullOrEmpty(model.Notes))
          model.Notes = "Not Applicable";

     return View(model);
}
您可以尝试以下方法:

private String _notes;
public String Notes
{
   get
   {
      return String.IsNullOrEmpty(_notes) ? "Not Applicable" : _notes;
   }
   set
   {
      _notes = value;
   }
}
编辑:这不适用于textarea

@if (Model.Notes != null)
  {
      @Html.CustomTextArea(m => m.Notes)
  }
else
  {
    @Html.CustomTextArea( m => m.Notes, new { @Value = "Not Applicable"})
  }
else
{
@CustomTextArea(m=>m.Notes,新的{id=“mytextarea”})
$(“#mytextarea”).text(“不适用”)
}
我给你一个窍门:)

else
{
  @Html.CustomTextArea(m => m.Notes, new {id="mytextarea"})
  <script>
     $("#mytextarea").text("Not Applicable")
  </script>
}