我有一个链接到第二个表的模型:
public class Rock
{
public int ID { get; set; }
[ForeignKey("Con")]
public int ConID { get; set; }
public virtual Con Con { get; set; }
}
public class Con
{
public int ID { get; set; }
public virtual ICollection<Rock> Rock{ get; set; }
[Required]
[RegularExpression(@"^[0-9A-Za-z '']+$")]
[StringLength(200, MinimumLength = 3)]
public string Name { get; set; }
}
在我的控制中,我有一个'创建'动作:
// GET: Rock/Create/3337
[Route("Rock/Create/{ConID?}")]
public ActionResult Create(int? ConID)
{
var rock= new Rock();
rock.ConID = (int)ConID;
return View(rock);
}
我想从该表中获取con名称并将其发送到视图。此时它不知道名字,因为还没有“摇滚”记录链接它。
有什么建议吗?提前谢谢!
答案 0 :(得分:0)
如果您使用Rock
作为类型创建了强类型视图,则需要添加“Con Name”和“#39”。属性为Rock Type,否则您需要创建一个新的Type并将数据添加到您要传递给View的此Type。
public class NewType
{
public int ConID { get; set; }
public string ConName { get; set; }
}
使用此对象添加要在此类型和返回视图中传递的数据: -
public ActionResult Create(int? ConID)
{
var newType= new NewType();
newType.ConID = (int)ConID;
newType.ConName = "XYZ";
return View(newType);
}
答案 1 :(得分:0)
我给出的两个建议是将Con.name传递给viewbag中的视图,或创建一个视图模型,如Rahul建议的那样,它结合了特定视图所需的不同类的属性。