Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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# 从视图发布数据时,除具有编辑器字段的属性外,所有属性都设置为null_C#_Asp.net_Asp.net Mvc 4 - Fatal编程技术网

C# 从视图发布数据时,除具有编辑器字段的属性外,所有属性都设置为null

C# 从视图发布数据时,除具有编辑器字段的属性外,所有属性都设置为null,c#,asp.net,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc 4,我正在查看页面中传递模型列表,并且只编辑模型的Answer属性。但回发后,除应答属性外,所有属性都设置为null 这是查看代码 @model List<NewsLetter.Models.NewsLetterQuestions> @using (Html.BeginForm()) { @Html.AntiForgeryToken() for (var i = 0; i < Model.Count(); i++) {

我正在查看页面中传递模型列表,并且只编辑模型的Answer属性。但回发后,除应答属性外,所有属性都设置为null

这是查看代码

@model List<NewsLetter.Models.NewsLetterQuestions>           
@using (Html.BeginForm())
{
  @Html.AntiForgeryToken()

  for (var i = 0; i < Model.Count(); i++)
    {        
      <div>
        @Html.DisplayFor(m => m[i].Question)
      </div>

      <div>
         @Html.EditorFor(m => m[i].Answer)
      </div>   
}
      <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
          <input type="submit" value="Submit" class="btn btn-default" />
        </div>
      </div>    
}
@型号列表
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
对于(var i=0;im[i].问题)
@EditorFor(m=>m[i].Answer)
}
}
任何帮助都是值得的。

DisplayFor()不会返回任何内容。您可以使用下面的代码

@model List<NewsLetter.Models.NewsLetterQuestions>
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    for (var i = 0; i < Model.Count(); i++)
    {
        <div>
            @Html.TextBoxFor(m => m[i].Question, new {@readonly = "readonly"})
        </div>

        <div>
            @Html.EditorFor(m => m[i].Answer)
        </div>

    }
       <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Submit" class="btn btn-default" />
            </div>
        </div>

}
@型号列表
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
对于(var i=0;im[i]。问题,新{@readonly=“readonly”})
@EditorFor(m=>m[i].Answer)
}
}
希望这对您有所帮助,
DisplayFor()
不会返回任何内容。您可以使用下面的代码

@model List<NewsLetter.Models.NewsLetterQuestions>
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    for (var i = 0; i < Model.Count(); i++)
    {
        <div>
            @Html.TextBoxFor(m => m[i].Question, new {@readonly = "readonly"})
        </div>

        <div>
            @Html.EditorFor(m => m[i].Answer)
        </div>

    }
       <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Submit" class="btn btn-default" />
            </div>
        </div>

}
@型号列表
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
对于(var i=0;im[i]。问题,新{@readonly=“readonly”})
@EditorFor(m=>m[i].Answer)
}
}

希望这有助于

这就是模型绑定的工作原理。它将创建
对象,并设置表单发送到控制器操作的属性。有关示例的解释,请参见


如果需要将视图中的其他模型数据发布到控制器,可以使用
Html.HiddenFor(model=>model.SomeProperty)
。请参阅以获取解释。

这就是模型绑定的工作原理。它将创建
对象,并设置表单发送到控制器操作的属性。有关示例的解释,请参见


如果需要将视图中的其他模型数据发布到控制器,可以使用
Html.HiddenFor(model=>model.SomeProperty)
。请看解释。

听到这个消息我很高兴。如果您不熟悉模型绑定,我强烈建议您阅读第一篇文章。它很好地简单地解释了基本原理,我很高兴听到这一点。如果您不熟悉模型绑定,我强烈建议您阅读第一篇文章。它很好地简单地解释了基本原理。