问题描述
尝试我的第一个 ASP.NET MVC 项目并不断收到以下错误。任何帮助,将不胜感激。 Create
操作工作正常,但在尝试加载 Edit
视图时出错。
我的控制器中有以下代码用于我的 Create
和 Edit
操作方法:
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>
我在编辑时不断收到此错误:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)