gpt4 book ai didi

asp.net-mvc - ASP.NET MVC-具有多个模型的 View

转载 作者:行者123 更新时间:2023-12-03 08:26:24 24 4
gpt4 key购买 nike

我正在尝试生成这样的HTML

    <form action="/some/process" method="post">
<input type="hidden" name="foo.a" value="aaa"/>
<input type="hidden" name="bar.b" value="bbb"/>
<input type="submit" />
</form>

因此可以通过以下操作对其进行处理:
    public ActionResult Process(Foo foo, Bar bar)
{
...
}

给出 Action 代码
    public ActionResult Edit()
{
ViewData["foo"] = new Foo { A = "aaa" };
ViewData["bar"] = new Bar { B = "bbb" };

return View();
}

我应该在Edit.aspx View 中写什么?我不想手动写名称“foo.a”和“bar.b”。

最佳答案

字符串索引的ViewData是错误的。您可能想要做的是为多变量 View 数据创建一个包装类,然后将其传递给强类型 View 。 IE浏览器:

public class FooBarViewData
{
public Foo Foo {get; set;}
public Bar Bar {get; set;}
}
public ActionResult Edit()
{
FooBarViewData fbvd = new FooBarViewData();
fbvd.Foo = new Foo(){ A = "aaa"};
fbvd.Bar = new Bar(){ B = "bbb"};
return View(fbvd);
}

然后,将 View 强类型化为 FooBarViewData,然后可以使用 Model属性调用该对象的成员。

关于asp.net-mvc - ASP.NET MVC-具有多个模型的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com