Первоначально я установил свой раскрывающийся список с кнопкой отправки, которая была в порядке, но теперь я хотел, чтобы она просто работала без кнопки (я добавил onchange). Однако теперь я нахожу еще одну трудность, которая первоначально при отображении страницы, если я «выбираю» первый вариант, ничего не происходит (очевидно), поэтому я хочу добавить «пожалуйста, выберите». Я нашел пару решений, таких как запись моего пользовательского списка SelectListOptions, но похоже, что это может быть сверху для моего дела. Может ли кто-нибудь пролить свет здесь и сообщить мне, что было бы самым простым вариантом здесь? Извините, если это простой ответ, я действительно застрял. Вот мой код:MVC dropdown select (blank) option
Модель
public class SurveyDropdownModel
{
public SelectList selectSurveys { get; set; }
public string selectedId { get; set; }
public IEnumerable<RespondentModel> respondents { get; set; }
public SurveyDropdownModel(List<SurveyModel> surveys)
{
selectSurveys = new SelectList(surveys, "SurveyID", "SurveyTitle");
respondents = null;
}
}
public class SurveyModel
{
[Required]
[Display(Name = "Survey ID")]
public int SurveyID { get; set; }
[Display(Name = "Title")]
public string SurveyTitle { get; set; }
[Display(Name = "Updated")]
public DateTime SurveyUpdatedDate { get; set; }
[Display(Name = "Active")]
bool IsActive { get; set; }
}
Контроллер
public class HomeController : Controller
{
public ActionResult Index()
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
HealthCheckDataLayer.HealthCheckRepository repo = new HealthCheckRepository(connectionString);
List<SurveyModel> surveyList = repo.ReturnSurveys<SurveyModel>();
var model = new SurveyDropdownModel(surveyList);
return View(model);
}
[HttpPost]
public ActionResult Index(SurveyDropdownModel model)
{
//not important here
}
}
Посмотреть
@model HealthCheckWebApp.Models.SurveyDropdownModel
@{
ViewBag.Title = "Home Page";
}
<div class="row">
<div class="col-md-4">
<h4>Select product:</h4>
@using (Html.BeginForm("Index", "Home"))
{
@Html.DropDownList("selectedId", Model.selectSurveys, new { onchange = "this.form.submit()" })
}
</div>
</div>
<br />
<br />
@if(Model.respondents!=null)
{
@* not relevant here*@
}
Я думаю, теперь й в я не включал, как мне потянуть мой список, я вызываю хранимую процедуру из моего репозитория там (требуется сделать это с помощью SP).
Спасибо.