Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET核心MVC视图模型_C#_.net_Asp.net Mvc_Viewmodel - Fatal编程技术网

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的解释。谢谢