asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – MVC – 在同一页面上与多个实体进行模型绑定大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如何在我从页面上的多个实体返回信息的场景中使用模型绑定?

我想显示来自两个独立实体的字段组合,即客户地址.我正在为我的模型使用Microsoft的DAAB和自定义业务实体.

有任何想法吗?

解决方法

如果您尝试在回发时绑定到多个模型,则应尝试使用Bind属性并在参数中指定用于每个模型的前缀.在某些情况下 – 您可能无法为模型元素使用单独的前缀 – 您@R_729_9381@使用多个TryupdateModel和单独的白名单更容易,而不是将模型放在参数中.
public ActionResult update( [Bind(Prefix="Customer")]Customer customer,[Bind(Prefix="Address")]Address address )
{
   ...
}

这假设您有一个ViewModel,如:

public class CustomerAddressModel
{
    public Customer Customer { get; set; }
    public Address Address { get; set; }
}

并参它:

<%= Html.TextBox( "Customer.Name" ) %>
...
<%= Html.TextBox( "Address.Street" ) %>

或者,使用TryupdateModel,

public ActionResult update( int id )
{
    var customer = db.Customers.Where( c => c.ID == id ).Single();

    var whitelist = new String[] { "name","company",... };
    if (TryupdateModel( customer,whitelist ))
    {
        var addressWhitelist = new String[] { "street","city",... };
        if (TryupdateModel( customer.Address,addressWhitelist ))
        {
            ...
        }
    }

}

在这种情况下,您的模型可能只包含您尝试更新的两个不同模型中的字段.

public class CustomerAddressModel
{
    public String Name { get; set; }
    public String Company { get; set; }
    public String Street { get; set; }
    ...
}

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – MVC – 在同一页面上与多个实体进行模型绑定全部内容,希望文章能够帮你解决asp.net-mvc – MVC – 在同一页面上与多个实体进行模型绑定所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。