ASP.NET MVC 操作下拉列表适用于创建但不适用于编辑

问题描述

尝试我的第一个 ASP.NET MVC 项目并不断收到以下错误。任何帮助,将不胜感激。 Create 操作工作正常,但在尝试加载 Edit 视图时出错。

我的控制器中有以下代码用于我的 CreateEdit 操作方法:

    public ActionResult AccountingCreateDocument()
    {
        AccountingDocumentModel AccDoc = new AccountingDocumentModel();
        AccDoc.VendorsL = PopulateVendors();
    
        return View(AccDoc);
    }

    public ActionResult AccountingEditDocument(int id)
    {
        AccountingDocumentHandle sdb = new AccountingDocumentHandle();
        sdb.VendorsL = PopulateVendors();

        var VendorSelectedItem = sdb.VendorsL.Find(p => p.Value == sdb.VendorID.ToString());

        if (VendorSelectedItem != null) 
        {
            VendorSelectedItem.Selected = true; 
            sdb.VendorName = VendorSelectedItem.Text; 
            sdb.VendorID = Convert.ToInt32(VendorSelectedItem.Value); 
        }

        return View(sdb.GetAccountingDocument().Find(smodel => smodel.AccountingDocumentID == id));
    }

    private static List<SelectListItem> PopulateVendors()
    {
        List<SelectListItem> items = new List<SelectListItem>();
        string cs = @"URI=file:C:\\Users\\DBFile\\source\\repos\\SolutionHD\\SolutionHD\\DB\\DBNameHD_DB.db;";

        var con = new SQLiteConnection(cs);
        con.Open();

        string stm = "SELECT VendorID,VendorName FROM Vendors WHERE State = 'Indiana'";

        var cmd = new SQLiteCommand(stm,con);

        using (SQLiteDataReader idr = cmd.ExecuteReader())
        {
                while (idr.Read())
                {
                    items.Add(new SelectListItem
                    {
                        Value = Convert.ToString(idr["VendorID"]),Text = Convert.ToString(idr["VendorName"]),});
                }
            }

        con.Close();
        return items;
    }

VendorID (int) 是 AccountingDocument 表和模型类中的一列。

这是我对创建的看法:

    <div class="form-group">
        @Html.LabelFor(model => model.VendorName,htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownListFor(model => model.VendorID,Model.VendorsL,"Please select vendor",new { @class = "form-control" })
          </div>
    </div>

这是我的编辑观点:

    <div class="form-group">
        @Html.LabelFor(model => model.VendorName,(IEnumerable<SelectListItem>)Model.VendorsL,new { @class = "form-control" })
        </div>
    </div>

我在编辑时不断收到此错误:

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...