Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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# MVC模型绑定,缺少初始模型_C#_.net_Asp.net Mvc - Fatal编程技术网

C# MVC模型绑定,缺少初始模型

C# MVC模型绑定,缺少初始模型,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,在本例中,我有两个页面,在第一个页面的post方法中,我返回第二个页面的view/viewmodel,如下所示: [HTTPPost] public Task<ActionResult> Page1(Page1Model model) { var Page2Model = GrabDataMethod(model); return View("Page2", Page2Model); //Point 1 }

在本例中,我有两个页面,在第一个页面的post方法中,我返回第二个页面的view/viewmodel,如下所示:

    [HTTPPost]
    public Task<ActionResult> Page1(Page1Model model)
    {
        var Page2Model = GrabDataMethod(model);

        return View("Page2", Page2Model); //Point 1
    }

    [HTTPPost]
    public Task<ActionResult> Page2(Page2Model model //Point 2)
    {
        var updatedModel= RunFiltersMethod(model)

        return View(updatedModel);
    }
[HTTPPost]
公共任务第1页(第1页模型)
{
var Page2Model=GrabDataMethod(model);
返回视图(“Page2”,Page2Model);//第1点
}
[HTTPPost]
公共任务第2页(第2页模型//第2点)
{
var updateModel=RunFiltersMethod(模型)
返回视图(更新的模型);
}
现在,在本例中,Page2从(第1点)正确呈现,并使用上面从GrabDataMethod传入的所有值。但是,当我为Page2发布时,我在(第2点)收到的Page2Model没有任何原始条目,例如,Page2本身未直接修改的所有内容都为null或默认值(事实上,来自POST方法的模型似乎完全是一个新模型)。我已经做了一个可怕的解决办法暂时,但我需要一个适当的修复,有任何原因,这将发生吗

第2页查看代码

@model Mvc2013.Models.Page2Model
@using (Html.BeginForm("Page2", "Controller")) 
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <hr />
    @Html.ValidationSummary(true)

    <div class="row">
        <div class="col-md-12">
        @Html.Kendo().Chart(<!-- code removed, this is working -->)
        </div>
    </div>

    <div class="row">
        <div class="col-md-3">
            <div class="col-md-8">
                @Html.LabelFor(model => model.Prop1, new { @class = "control-label" })
            </div>
            <div class="col-md-4">
                @Html.EditorFor(model => model.Prop1, new { @class = "control-label" })
                @Html.ValidationMessageFor(model => model.Prop1)
            </div>
        </div>
        <div class="col-md-3">
            <div class="col-md-8">
                @Html.LabelFor(model => model.Prop2, new { @class = "control-label" })
            </div>
            <div class="col-md-4">
                @Html.EditorFor(model => model.Prop2, new { @class = "control-label"})
                @Html.ValidationMessageFor(model => model.Prop2)
            </div>
        </div>
    </div>

<!-- This carries on similarly for lots more attributes -->

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>
    </div>
</div>
@model mvc213.Models.Page2Model
@使用(Html.BeginForm(“Page2”,“Controller”))
{
@Html.AntiForgeryToken()

@Html.ValidationSummary(true) @Html.Kendo().Chart() @LabelFor(model=>model.Prop1,新的{@class=“control label”}) @EditorFor(model=>model.Prop1,新的{@class=“control label”}) @Html.ValidationMessageFor(model=>model.Prop1) @LabelFor(model=>model.Prop2,新的{@class=“control label”}) @EditorFor(model=>model.Prop2,新的{@class=“control label”}) @Html.ValidationMessageFor(model=>model.Prop2)

}

在文件中,您应该添加
@Html.HiddenFor(model=>model.Something)
其中Something是您希望返回回发的属性


如果没有,则属性值将是默认值。

什么是Page1Model?Page2Model与Page1Model相同吗?如果您将不同的模型发布到同一个操作,这将无法正确绑定。@Fals我不清楚所涉及的两个操作,对Hopping Clarity进行了更新您是否也有发布到Page2操作的视图示例代码?您是否可以发布视图,那里还有其他错误!稍等一下,换个名字来保护无辜等等,这个观点会立即发布,这解决了我的问题,我感谢你的帮助。