将数据从多个表单传递到一个表单

时间:2015-08-21 14:34:16

标签: c# visual-studio-2013

是否可以传递多个表单的详细信息,这些表单都会导致一个表单? 我希望每次单击导致下一个表单的按钮时,都会显示其来自的表单中的详细信息。 我有多种形式,如newclient,updateclient和使用结算表单的交易。我想知道我是否可以将这些表格的详细信息传递给账单表格?

1 个答案:

答案 0 :(得分:0)

这绝对是可能的,有许多实现可用。

例如,您可以将先前的视图模型存储为新视图模型的属性。以下是控制器中NewClient post操作的外观:

[HttpPost]
public ActionResult NewClient(NewClientModel newClientModel)
{
    if (!ModelState.IsValid)
    {
        // handle validation
    }

    var billingModel = new BillingModel
    {
        NewClientModel = newClientModel
    };

    return RedirectToAction("Billing", billingModel);
}

在这种情况下,BillingModel看起来像这样:

public class BillingModel
{
    public NewClientModel NewClientModel { get; set; }

    public string SomeOtherProperty { get; set; }

    // etc...
}

然后,在结算视图中,您只需显示两个:

@model BillingModel

@using (Html.BeginForm()) {
    @Html.DisplayFor(m => m.NewClientModel.Whatever)
    @Html.DisplayFor(m => m.SomeOtherProperty)
    <input type="submit" value="Submit" />
}