绑定模型进行查看

发布于 2024-11-05 18:57:13 字数 114 浏览 0 评论 0原文

我想将两个模型(例如 ModelA 和 ModelB 类)绑定到 view.ascx 页面。每个类都有我想在视图中访问的 List 对象。我知道我们可以通过将强类型模型与其中一个类关联来访问一个类。如何绑定其他类?

I would like to Bind two models (say ModelA and ModelB classes) to a view.ascx page. And each of these classes have List objects that I would like to access in view. I know we can access one class by associating strongly typed model to one of the classes. How do I bind the other class?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

骑趴 2024-11-12 18:57:13

只需创建一个 ViewModel - 包含您需要的所有模型(在本例中为 ModelA 和 ModelB)的类。然后将视图绑定到此 ViewModel 并像视图中的 model.ModelA.Property 一样访问它。

编辑:你写道 ModelA 和 modelB 都有自己的收藏?因此,您创建类似的内容:

public class ABViewModel
{
    public ModelA A {get;set;}
    public ModelB B {get;set;}
}

然后在控制器中实例化它,例如:

ABViewModel abvm = new ABViewModel();
abvm.A = new ModelA();
abvm.B = new ModelB();

并返回您的视图(强类型化为 ABViewModel)。

return View(abvm);

并在“查看”中访问您的属性:

foreach (var item in model.A.CollectionProperty) // something like this

model.B.Property // something like this

即。您可以访问.. ModelA 和 ModelB,因为它们现在是另一个对象(您的新模型)的属性。

注意:我不确定您是否在 mvc2 中使用 model.Model. 来访问您的模型。这是mvc3中的model

Simply create a ViewModel - class containing all models you need (in this case ModelA and ModelB). Then bind the view to this ViewModel and access it like model.ModelA.Property in your view.

Edit: You wrote that both ModelA and modelB has their collections? So you create something like:

public class ABViewModel
{
    public ModelA A {get;set;}
    public ModelB B {get;set;}
}

Then instantiate it in controller like:

ABViewModel abvm = new ABViewModel();
abvm.A = new ModelA();
abvm.B = new ModelB();

And return your view (strongly typed to ABViewModel).

return View(abvm);

And access your properties in View:

foreach (var item in model.A.CollectionProperty) // something like this

Or

model.B.Property // something like this

Ie. you can access both .. ModelA and ModelB, because they are now properties of another object - your new model.

Note: I am not sure, if you use model. or Model. in mvc2 to acces your model. It's model in mvc3.

乱了心跳 2024-11-12 18:57:13

您编写第三个类来包装这两个列表:

public class MyViewModel
{
    public IList<Foo> List1 { get; set; }
    public IList<Bar> List2 { get; set; }
}

然后使用此类作为传递给视图的视图模型。然后在视图中您可以访问这两个列表:

<% foreach(var item in Model.List1) { %>
    ...
<% } %>

<% foreach(var item in Model.List2) { %>
    ...
<% } %>

You write a third class wrapping those two lists:

public class MyViewModel
{
    public IList<Foo> List1 { get; set; }
    public IList<Bar> List2 { get; set; }
}

and then you use this class as a view model passed to the view. Then inside the view you can access both lists:

<% foreach(var item in Model.List1) { %>
    ...
<% } %>

<% foreach(var item in Model.List2) { %>
    ...
<% } %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文