C# 下拉值获取空值

C# 下拉值获取空值,c#,.net,asp.net-mvc,dropdown,C#,.net,Asp.net Mvc,Dropdown,我在dropdownList中将ClientsName for my clients表添加到我的Payments表中,因此,当我创建付款时,我会使用如下下拉列表: 因此,我在控制器上设置了一个断点调试,值ClientsName总是为空,但在我看来,它总是将下拉列表的第一个值设置为空 型号: public class Payments { [Key] public int PaymentsId { get; set; } public int ClientsId {

我在dropdownList中将ClientsName for my clients表添加到我的Payments表中,因此,当我创建付款时,我会使用如下下拉列表:

因此,我在控制器上设置了一个断点调试,值ClientsName总是为空,但在我看来,它总是将下拉列表的第一个值设置为空

型号:

public class Payments
{
    [Key]
    public int PaymentsId { get; set; }

    public int ClientsId { get; set; }
    [ForeignKey("ClientsId")]
    public virtual Clients Clients { get; set; }
    public String Paymentnumber { get; set; }
    public DateTime PaymentDate { get; set; }
    public Decimal Amount { get; set; }
    public Decimal Discount { get; set; }
    public String Reference { get; set; }
    public String Bank { get; set; }
    public Decimal Total { get; set; }

}
获取控制器:

//GET CREATE CONTROLLER

 public ActionResult Create(Payments model)
    {
        var clientList = new PaymentsViewModel
        {
            Clients = new SelectList(db.ClientsList, "ClientsId", "ClientsName")
        };
        return View(clientList);

    }
岗位控制员(扩展方式):

创建视图:

   @Html.DropDownListFor(x => x.Clients, Model.Clients, new { @class = "form-control", @required = "required" })

我真的不知道这里发生了什么

修改您的控制器并指定选定的客户端ID

 public ActionResult Create(Payments model)
 {
    ViewBag.Clients = new SelectList(db.ClientsList, "ClientsId", "ClientsName", model.clientID)
    return View();
}
修改您的视图

 @Html.DropDownListFor(x => x.Clients, ViewBag.Clients, new { @class = "form-control", @required = "required" })

HTML中的下拉列表没有空值,因此如果未指定要选择的选项,它将始终显示第一个选项。您的问题是什么?如何指定我选择的选项?注意:我更新我的视图您希望下拉列表选择空白还是特定项目?@TK-421我下拉列表的特定项目,以便在我的客户我的付款索引名称中显示谁是客户payment@TK-421
int selectedID=“所选客户ID”行显示“无法将源类型字符串转换为目标类型int”
int-selectedID=“所选客户端ID”行显示“无法将源类型字符串转换为目标类型int”,您需要为selectedID分配所选客户端的ID。我会更新我的答案让它更清楚。好的,它是
int-SelectedID=model.ClientsId,但它没有改变任何东西,仍然没有工作。我怀疑这是您在模型中的延迟加载。有关要更改的内容,请参见我的编辑。
 @Html.DropDownListFor(x => x.Clients, ViewBag.Clients, new { @class = "form-control", @required = "required" })