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

本文关键字:表单 一个 数据 | 更新日期: 2023-09-27 18:09:02

是否有可能传递所有导致一个表单的多个表单的详细信息?我想每次我点击那个按钮,导致下一个表单,显示从它来自表单的详细信息。我有多个使用账单表单的表单,如newclient、updateclient和transactions。我想知道我是否可以将这些表单的详细信息传递给账单表单?

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

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

例如,您可以将以前的视图模型存储为新视图模型的属性。下面是控制器中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...
}

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

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

请使用程序:

  1. 在所有形式中,声明要移动的变量
    public static string Name = "";
    public static string Name2 = "";
    
    button_click事件或其他事件
    Name = comboBox1.Text;
    Name2 = textBox1.Text;
    
  2. 在所有数据都要移动到Load事件的表单中,写入它们
    textBox1.Text = Form1.Name;
    label12.Text = Form3.Name2;