Asp.net mvc 3 ASP.NET MVC3中一个控制器中的多个模型
我有两种型号,ComanyModel和Address型号。在公司模型中,有一个AddressId连接数据库中的两个表。我想注册一家公司,并将信息保存在两个单独的表中的数据库中。现在,我希望用户在同一页面中输入公司信息和地址,但不知道如何进行。我能够在ASP中完成它,但现在我对MVC3非常陌生 请建议我如何存档此文件 以下是我的两个模型类: 公共类公司模型Asp.net mvc 3 ASP.NET MVC3中一个控制器中的多个模型,asp.net-mvc-3,asp.net-mvc-3-areas,Asp.net Mvc 3,Asp.net Mvc 3 Areas,我有两种型号,ComanyModel和Address型号。在公司模型中,有一个AddressId连接数据库中的两个表。我想注册一家公司,并将信息保存在两个单独的表中的数据库中。现在,我希望用户在同一页面中输入公司信息和地址,但不知道如何进行。我能够在ASP中完成它,但现在我对MVC3非常陌生 请建议我如何存档此文件 以下是我的两个模型类: 公共类公司模型 { public Guid AddressId { get; set; } public string CompanyEma
{
public Guid AddressId { get; set; }
public string CompanyEmailAddress { get; set; }
public string DirectorName { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
public int RegNo { get; set; }
public string VatNo { get; set; }
}
公共类寻址模型
{
public string City { get; set; }
public string Code { get; set; }
public Guid Id { get; set; }
public string Line1 { get; set; }
public string Line2 { get; set; }
public string Suburb { get; set; }
}
你需要再上一节这样的课
public class CompanyAddressModel
{
public CompanyModel Company { get; set; }
public AddressModel Address { get; set; }
}
你需要再上一节这样的课
public class CompanyAddressModel
{
public CompanyModel Company { get; set; }
public AddressModel Address { get; set; }
}
必须为两个表创建一个viewModel 例如:
public class nameViewModel
{
public Company Company { get; set; }
public Address Address { get; set; }
}
然后在视野中
@Html.LabelFor(model => model.Company.Name)
@Html.EditorFor(model => model.Company.Name)
@Html.ValidationMessageFor(model => model.Company.Name)
@Html.LabelFor(model => model.Address.Name)
@Html.EditorFor(model => model.Address.Name)
@Html.ValidationMessageFor(model => model.Address.Name)
必须为两个表创建一个viewModel 例如:
public class nameViewModel
{
public Company Company { get; set; }
public Address Address { get; set; }
}
然后在视野中
@Html.LabelFor(model => model.Company.Name)
@Html.EditorFor(model => model.Company.Name)
@Html.ValidationMessageFor(model => model.Company.Name)
@Html.LabelFor(model => model.Address.Name)
@Html.EditorFor(model => model.Address.Name)
@Html.ValidationMessageFor(model => model.Address.Name)
正如Murat前面提到的,您可以创建一个新的viewmodel,然后使用
@Model.Company
和@Model.Address
访问类的实例。如果你很懒(像我一样),你可以从每个类中创建强类型视图,然后将视图合并成一个。或者您可以从类中创建局部视图,并通过@Html.Action(“CreateCompany”,Model.Company)
或@Html.partial(“CompanyView”,Model.Company)获取它们
正如Murat前面提到的,您可以创建一个新的viewmodel,然后使用@Model.Company
和@Model.Address
访问类的实例。如果你很懒(像我一样),你可以从每个类中创建强类型视图,然后将视图合并成一个。或者您可以从类中创建部分视图,并通过@Html.Action(“CreateCompany”,Model.Company)
或@Html.partial(“CompanyView”,Model.Company)
获取它们。您是否使用实体框架?这就是我将数据保存到数据库的方式。使用FusionXC.数据;IDataOperations ops=DataSession.GetDataOperations(null);List deptModel=新列表();ops.Create(deptModel).Into(“部门”).Values(deptModel);ops.Commit();我有一个业务层、数据层和UI层,在业务层中,我有一个Models文件夹,其中的类与数据库中的类相同,并使用它们来保存我的数据。您使用实体框架吗?这就是我将数据保存到数据库的方式。使用FusionXC.数据;IDataOperations ops=DataSession.GetDataOperations(null);List deptModel=新列表();ops.Create(deptModel).Into(“部门”).Values(deptModel);ops.Commit();我有一个业务层、数据层和UI层,在业务层我有一个Models文件夹,其中的类与DB中的类相同,并使用它们来保存我的数据我如何在控制器中创建ActionResult创建方法???[HttpPost]公共ActionResult ActionName(nameViewModel模型){//Actions}如何在控制器中创建ActionResult创建方法???[HttpPost]公共ActionResult ActionName(nameViewModel model){//Actions}