Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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# 如何不要求输入一对多或无字段_C#_Asp.net Mvc 5 - Fatal编程技术网

C# 如何不要求输入一对多或无字段

C# 如何不要求输入一对多或无字段,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我有以下课程: public class QuoteGeneral { public int QuoteGeneralID { get; set; } public QuoteStatus Status { get; set; } public DateTime DateRecevied { get; set; } public DateTime DateDue { get; set; } public int? QuoteClassificationI

我有以下课程:

public class QuoteGeneral
{
    public int QuoteGeneralID { get; set; }
    public QuoteStatus Status { get; set; }
    public DateTime DateRecevied { get; set; }
    public DateTime DateDue { get; set; }

    public int? QuoteClassificationID { get; set; }
    public virtual QuoteClassification QuoteClassification { get; set; }

    public int? QuoteSalesRepID { get; set; }
    public virtual QuoteSalesRep QuoteSalesRep { get; set; }
}

public class QuoteClassification
{
    public int QuoteClassificationID { get; set; }
    public string Classification { get; set; }

    public virtual ICollection<QuoteGeneral> QuoteGenerals { get; set; }
}

public class QuoteSalesRep
{
    public int QuoteSalesRepID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public decimal CommisionPercentage { get; set; }

    public virtual ICollection<QuoteGeneral> QuoteGenerals { get; set; }

}
公共类报价通用
{
public int QuoteGeneralID{get;set;}
公共QuoteStatus状态{get;set;}
public DateTime datereceived{get;set;}
公共DateTime DateDue{get;set;}
公共int?QuoteClassificationID{get;set;}
公共虚拟QuoteClassification QuoteClassification{get;set;}
公共int?QuoteSalesRepID{get;set;}
公共虚拟QuoteSalesRep QuoteSalesRep{get;set;}
}
公共类引用分类
{
public int QuoteClassificationID{get;set;}
公共字符串分类{get;set;}
公共虚拟ICollection QuoteGenerals{get;set;}
}
公共类QuoteSalesRep
{
public int QuoteSalesRepID{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共十进制委托百分比{get;set;}
公共虚拟ICollection QuoteGenerals{get;set;}
}

当我使用脚手架创建控制器/视图时,它会为QuoteClassificationID和QuoteSalesRepID创建下拉列表。如果我运行项目并单击CreatenewforQuoteGeneral,那么这些下拉列表中已经包含了无法留空的值。如何允许用户不必为QuoteClassificationID和QuoteSalesRepID输入/选择值?

我不知道您的视图是什么样子,所以我假设您在某处有一个QuoteClassification SelectList

@Html.DropDownListFor(m => m.QuoteClassificationID, QuoteClassificationSelectList, "")
最后一个“”参数将空值添加到列表中


如果包含查看代码,则会有所帮助。至少有一个DropDownListFor语句。

您是否考虑过使用ViewModels作为控制器和视图之间的中介?通过这种方式,您可以将DDL绑定到ViewModel上的相应属性,然后可以使用控制器中自己的逻辑填充这些属性;同样,使用ViewModel+1中的“selected”(或not)值插入手动方法。问了这个问题后不久,我发现我可以手动添加
”来强制输入一个空白条目。然而,
public int中int后面的问号不应该是吗?QuoteClassificationID{get;set;}
是否强制在脚手架搭建时自动执行此操作?