Я как бы потерялся в части кодирования этой проблемы. У меня есть приложение MVC, и я пытаюсь заполнить запрос Где предложением в качестве выбранного значения из раскрывающегося списка. Кроме того, я заполняю раскрывающийся список из запроса в базе данных. Например:
SELECT db.ID FROM Database db where ID = 1232
Вместо этого я хочу сделать что-то вроде этого ...
SELECT db.ID FROM Database db where ID = "SelectedValue from Dropdownlist"
Модель класса:
public string ID {get; set;}
public string Summary{get; set;}
public int Estimate {get; set;}
public List<Hello> getIDs()
{
var que = (from wre in db.Table
select new Hello{
ID = wre.ID
}).toList();
}
Класс контроллера:
public ActionResult Index(string? IDParam)
{
var model = test.getStuff();
var que = (from wre in db.View
where wre.ID == IDParam //Operator '==' cannot be applied to operands of type 'string' and 'string?'
select new Hello
{
ID = wre.ID
Summary = wre.Summary,
Estimate = wre.Estimate
}).toList();
if (IDParam!= null & IDParam.HasValue)
{
model = model.Where(x => x.ID == IDParam); //Operator '==' cannot be applied to operands of type 'string' and 'string?'
}
return View(model);
}
Просмотр класса:
@Html.DropDownList("ID", ViewBag.Releases as SelectList, "ID", new {@id="rel" })
<table>
<th>@Html.DisplayNameFor(model => model.ID)</th>
<th>@Html.DisplayNameFor(model => model.Summary)</th>
<th>@Html.DisplayNameFor(model => model.Estimate)</th>
</table>
<script>
$("#rel").change(function () {
var selectedId = this.val();
location.href = '@Url.Action("Index", "SampleController", new {selectedId="_selectedId"})'.Replace("_selectedId",selectedId);
});
</script>
Это прекрасно работает, но теперь я теряюсь в аспекте кодирования. Я вижу предупреждение каждый раз, когда меняю идентификатор из выпадающего списка. Тем не менее, нет никаких изменений в отображаемых данных (я знаю, что мне не хватает много). Если кто-нибудь может помочь мне здесь, это было бы здорово, спасибо!