C# .NET核心MVC视图模型
我有一个链接模型C# .NET核心MVC视图模型,c#,.net,asp.net-mvc,viewmodel,C#,.net,Asp.net Mvc,Viewmodel,我有一个链接模型 public class Link { public int ID { get; set; } public string Name { get; set; } public string Project { get; set; } } 我想将项目存储在另一个数据库表中,并以某种方式将其链接到此模型,并在dropdownlist中提供选项。 我想我需要使用ViewModel,但我不确定我需要做什么 public class Projec
public class Link
{
public int ID { get; set; }
public string Name { get; set; }
public string Project { get; set; }
}
我想将项目存储在另一个数据库表中,并以某种方式将其链接到此模型,并在dropdownlist中提供选项。
我想我需要使用ViewModel,但我不确定我需要做什么
public class Project
{
public int ID { get; set; }
public string Name { get; set; }
}
我想我需要创建一个名为Project的新模型,然后创建一个结合了这两者的ViewModel
然后,我是否需要为ViewModel创建单独的控制器,还是可以在链接控制器中使用它?如果我没有弄错,您希望从链接类访问项目列表。我相信你正在使用MVC。如果这就是你想要做的,你可以用你的链接类来做
public class Link
{
public int ID { get; set; }
public string Name { get; set; }
public int ProjectID { get; set; }
public virtual Project Project {get: set;}
}
在中,您可以将项目类定义为
public class Project
{
public int ProjectID { get; set; }
public string Name { get; set; }
}
所以现在,当您为Link生成控制器类时,您将得到如下结果
ViewBag.ProjectID = new SelectList(db.Projects, "ProjectID", "Name", list.ProjectID);
@Html.DropDownList("ProjectID ", null, htmlAttributes: new { @class = "form-control" })
你的观点是这样的
ViewBag.ProjectID = new SelectList(db.Projects, "ProjectID", "Name", list.ProjectID);
@Html.DropDownList("ProjectID ", null, htmlAttributes: new { @class = "form-control" })
希望这对您有所帮助如果我没弄错,您希望访问链接类中的项目列表。我相信你正在使用MVC。如果这就是你想要做的,你可以用你的链接类来做
public class Link
{
public int ID { get; set; }
public string Name { get; set; }
public int ProjectID { get; set; }
public virtual Project Project {get: set;}
}
在中,您可以将项目类定义为
public class Project
{
public int ProjectID { get; set; }
public string Name { get; set; }
}
所以现在,当您为Link生成控制器类时,您将得到如下结果
ViewBag.ProjectID = new SelectList(db.Projects, "ProjectID", "Name", list.ProjectID);
@Html.DropDownList("ProjectID ", null, htmlAttributes: new { @class = "form-control" })
你的观点是这样的
ViewBag.ProjectID = new SelectList(db.Projects, "ProjectID", "Name", list.ProjectID);
@Html.DropDownList("ProjectID ", null, htmlAttributes: new { @class = "form-control" })
希望这有帮助试试这个
public class Link
{
[Key]
public int LinkId { get; set; }
public string LinkName { get; set; }
public int ProjectId { get; set; }
public virtual Project projects { get; set; }
}
public class Project
{
[Key]
public int ProjectId { get; set; }
public string ProjectName { get; set; }
public virtual ICollection<Link> links { get; set; }
}
然后只需为这两个类创建mvc脚手架控制器和视图试试这个
public class Link
{
[Key]
public int LinkId { get; set; }
public string LinkName { get; set; }
public int ProjectId { get; set; }
public virtual Project projects { get; set; }
}
public class Project
{
[Key]
public int ProjectId { get; set; }
public string ProjectName { get; set; }
public virtual ICollection<Link> links { get; set; }
}
然后只需为这两个类创建mvc脚手架控制器和视图问题还不清楚。是否要将项目存储在另一个数据库中?若有,原因为何?这是技术要求吗?顺便说一下,您应该使用外键在链接和项目之间建立链接。您可以看看本教程:。它可能对您有用。项目应该是唯一的,并存储在单独的表中。添加新链接时,不同的项目将显示为下拉列表中的一个选项。您需要使用项目表中的记录填充下拉列表,您是否有数据访问层来执行此操作?-一旦你有了这个,然后将项目的ID存储在链接记录上,以便有一个对它的引用。问题还不清楚。是否要将项目存储在另一个数据库中?若有,原因为何?这是技术要求吗?顺便说一下,您应该使用外键在链接和项目之间建立链接。您可以看看本教程:。它可能对您有用。项目应该是唯一的,并存储在单独的表中。添加新链接时,不同的项目将显示为下拉列表中的一个选项。您需要使用项目表中的记录填充下拉列表,您是否有数据访问层来执行此操作?-一旦你有了这个,然后将项目的ID存储在链接记录上,以便有一个对它的引用。是的,这看起来不错,我会尝试一下。只有一个问题,随处可见,似乎都表明ViewModel是这个场景的良好实践,这是真的吗?是的,这是真的。ViewModels允许您将一个或多个数据模型或源中的多个实体造型为单个对象,并针对视图的使用和渲染进行了优化。你可以在这里了解到很多:是的,这看起来不错,我试试看。只有一个问题,随处可见,似乎都表明ViewModel是这个场景的良好实践,这是真的吗?是的,这是真的。ViewModels允许您将一个或多个数据模型或源中的多个实体造型为单个对象,并针对视图的使用和渲染进行了优化。你可以在这里得到很多信息:这个答案也可以,但我给出了上面的帖子作为答案,因为ViewBag的解释。谢谢这个答案也行,但我给出了上面的帖子作为答案,因为ViewBag的解释。谢谢