Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当属性为空时,具有嵌套属性的EditorFor_C#_Asp.net Mvc_Mvc Editor Templates - Fatal编程技术网

C# 当属性为空时,具有嵌套属性的EditorFor

C# 当属性为空时,具有嵌套属性的EditorFor,c#,asp.net-mvc,mvc-editor-templates,C#,Asp.net Mvc,Mvc Editor Templates,我有一个PersonVm,它有一个嵌套的Street2视图模型。在我的个人视图中,我有一个基于PersonType属性的Street2自定义编辑器模板,但是当Street2属性为空时,它会返回未格式化的文本框,而不是没有模板。如果Street2属性为空,是否有办法告诉MVC框架不要尝试呈现模板。现在我正在视图中执行IF语句。(这是一个过于简单的例子)。谢谢 个人视图模型 public class PersonVm { public string PersonType { get; set

我有一个
PersonVm
,它有一个嵌套的
Street2
视图模型。在我的个人视图中,我有一个基于
PersonType
属性的
Street2
自定义编辑器模板,但是当
Street2
属性为空时,它会返回未格式化的文本框,而不是没有模板。如果
Street2
属性为空,是否有办法告诉MVC框架不要尝试呈现模板。现在我正在视图中执行
IF
语句。(这是一个过于简单的例子)。谢谢

个人视图模型

public class PersonVm
{
    public string PersonType { get; set; }
    public Street2 Street2 { get; set; }
}
个人视图

 @model App.Models.PersonVm

    @*... other controls *@
    @* Right Now i am doing this if logic*@

    @if(Model.Street2 != null)
    {
      @Html.EditorFor(model => model.Street2, person.PersonType)
    }

我不太明白。如果
Street2
没有设置值,为什么要隐藏
Street2
的编辑器。首先,您将如何在其中获取值?我们有预期的个人记录,如果我们有原始记录,他们只能编辑
Street2
。这有用吗?