gpt4 book ai didi

c# - 2 ASP.NET MVC 中的 View 模型

转载 作者:太空狗 更新时间:2023-10-30 01:34:29 24 4
gpt4 key购买 nike

型号:

public class Order
{
[ScaffoldColumn(false)]
public int Id { get; set; }

public string UserName { get; set; }

public int Amount { get; set; }

[ScaffoldColumn(false)]
public Guid UniqueId { get; set; }

public DateTime CreateDate { get; set; }

public string ManagerId { get; set; }

}

public class UserProfile
{
public int Id { get; set; }

public string Username { get; set; }

public string Phone { get; set; }

[StringLength(255)]
public string NameSurname { get; set; }

public bool IsCompany { get; set; }
}

我需要在 Kendo Grid 中显示 2 个模型。 View 中的示例代码:

@(Html.Kendo().Grid<oko.Models.OrderDto>().Name("NewOrders").Columns(columns =>
{
columns.Bound(s => s.Username);
columns.Bound(s => s.NameSurname);
columns.Bound(s => s.Phone);
columns.Bound(s => s.CreateDate).Format("{0:dd/MM/yyyy}");
})

Field UserName 他们有相同的。如何传递字段 PhoneNameSurname

最佳答案

您不能绑定(bind)到多个类类型,因此最好的方法是创建一个复合类 ViewModel 来保存您需要的属性。将其填充到您的 Controller 中,并将其传递回模型。

示例 View 模型:

public class OrderDtoViewModel
{
public string UserName { get; set; }
public string NameSurname { get; set; }
public string Phone { get; set; }
public DateTime CreateDate { get; set; }

//etc...
}

Controller :

public class MyController
{
public ActionResult Index()
{
var data = _myRepository.GetYourData();

var viewModel = new OrderDto()
{
UserName = data.UserName,
NameSurname = data.NameSurname,
Phone = data.Phone,
CreateDate = data.CreateDate
};

return View(data)
}
}

然后在您的 Kendo 网格中,使用您的复合 View 模型(在上面的示例中称为 OrderDtoViewModel)

@(Html.Kendo().Grid<oko.Models.OrderDtoViewModel>().Name("NewOrders").Columns(columns =>
{
columns.Bound(s => s.Username);
columns.Bound(s => s.NameSurname);
columns.Bound(s => s.Phone);
columns.Bound(s => s.CreateDate).Format("{0:dd/MM/yyyy}");
})

关于c# - 2 ASP.NET MVC 中的 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523034/

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