我有Model A
和B
。Model A
包含Model B
必须拥有的联系人(电话号码,电子邮件等)的信息。我有一个Model A
正在访问的电话,电子邮件和地址的模型,并通过您可以在此处看到的“主模型页面”使用:
public class master
{
public A A { get; set; }
public phones phones { get; set; }
public emails emails { get; set; }
public addresses addresses { get; set; }
}
由于Model A
成功使用此主模型(它在创建新phone
时创建新的email
,address
和Model A
有没有办法可以将模型A推入模型B的创建页面中,这样我就不必重做我为模型A工作所做的代码了?换句话说,我可以在模型B的创建视图中使用模型A的创建视图吗?我希望这是有道理的。
修改
public class A
{
public int id { get; set;}
public string name { get; set; }
public string company { get; set; }
}
public class B
{
public string userName
public string website
}
正如你所看到的,B与A不同,所以它必须有自己的创建字段,但是,它需要A拥有的所有东西以及A的控制器获得的所有东西(电话,地址) ,电子邮件)使用主模型。我希望能够解决问题。
答案 0 :(得分:0)
我想您希望B
继承A
执行此操作会导致B
同时拥有A
和B
public class A
{
public int id { get; set;}
public string name { get; set; }
public string company { get; set; }
public string SayHello(){ return string.Format("Hello {0}"); }
}
public class B : A
{
public string userName
public string website
}
然后,您可以执行类似的操作
var b = new B() { name = "me", company="my company", userName = "me@mycompany.com" };
var greeting = b.SayHello(); // "Hello me"