Получал эту ошибку:
Исключение типа 'System.Web.HttpException' произошло в System.Web.dll, но не было обработано в коде пользователя
Дополнительная информация: DataBinding: «Final.Models.Hello» не содержит свойство с именем «700».
Я искал ответы в Google, но все еще чувствую себя потерянным.
Класс модели:
public Hello () {
db = new ExtensionDBEntities();
}
public List<Hello> getID()
{
var que = (from rel in db.Table1
select new Hello
{
ID = rel.ID
}).ToList();
return que;
}
public List<Hello> getStuff()
{
var que = (from wre in db.View
select new Hello
{
ID = wre.ID,
Summary = wre.Summary,
Description = wre.Description
}
}
getHello () - это тот же точный метод, что и getStuff (), просто принимает параметр идентификатора строки.
Класс контроллера:
public ActionResult Index()
{
var model = test.getStuff();
ViewBag.Releases = new SelectList(test.getID(), "", "ID");
ViewBag.Managers = new SelectList(test.getManagers(), "", "Managers");
return View("");
}
[HttpPost]
public ActionResult Selection()
{
string selectedId = Request["IDText"].ToString();
string Managers = Request["ManagersText"].ToString();
var model = test.getStuff();
ViewBag.Releases = new SelectList(test.getID(), selectedId, "ID");
ViewBag.Managers = new SelectList(test.getManagers(), Managers, "Managers");
var que = test.getHello(selectedId, Managers);
return View(que);
}
Класс просмотра индекса:
$(document).ready(function () {
$("#Releases").on("change", function () {
var value = $('#Releases :selected').text()
$("#IDText").val(value);
});
$("#Managers").on("change", function () {
var value = $('#Managers :selected').text()
$("#ManagersText").val(value);
});
});
@using (Html.BeginForm("Selection", "Sample", FormMethod.Post))
{
<div class="container" id='div_release'>
@Html.DropDownList("Releases", ViewBag.Releases as SelectList)
@Html.DropDownList("Managers", ViewBag.Managers as SelectList)
@Html.Hidden("IDText", "")
@Html.Hidden("ManagersText", "")
<input type="submit" name="Submit" id="btnUploadData" class="btn btn-primary" value="Upload" />
</div>
}
Класс просмотра выбора:
<div class="container">
<table id="myTable" align="left">
<tr>
<th>@Html.DisplayNameFor(model => model.ID)</th>
<th>@Html.DisplayNameFor(model => model.Summary)</th>
<th>@Html.DisplayNameFor(model => model.Description)</th>
</tr>
@foreach (var item in Model)
{
<tr id="Home">
<td>@Html.DisplayFor(x => item.ID)</td>
<td>@Html.DisplayFor(x => item.Summary)</td>
<td>@Html.DisplayFor(x => item.Description)</td>
</tr>
}
$(document).ready(function () {
$("#Releases").on("change", function () {
var value = $('#Releases :selected').text()
$("#IDText").val(value);
});
$("#Managers").on("change", function () {
var value = $('#Managers :selected').text()
$("#ManagersText").val(value);
});
});
@using (Html.BeginForm("Selection", "Sample", FormMethod.Post))
{
<div class="container" id='div_release'>
@Html.DropDownList("Releases", ViewBag.Releases as SelectList) // Getting the error here....
@Html.DropDownList("Managers", ViewBag.Managers as SelectList)
@Html.Hidden("IDText", "")
@Html.Hidden("ManagersText", "")
<input type="submit" name="Submit" id="btnUploadData" class="btn btn-primary" value="Submit" />
</div>
}
</table>
</div>
Ошибка возникает в классе представления выбора. Классы просмотра почти идентичны, единственное отличие состоит в том, что данные отображаются в классе представления выбора на основе выбранного значения. из выпадающего списка.