Итак, я работаю в ASP.NET MVC4, и я хочу динамически загружать выпадающий список.Динамическое заполнение динамического списка
Это мой modelclass:
public class Meeting
{
public int MeetingId { get; set; }
[Required(ErrorMessage = "A name is required")]
public String Name { get; set; }
[Required(ErrorMessage = "Location is required")]
public String Location { get; set; }
[Required(ErrorMessage = "A start date is required")]
[DataType(DataType.Date)]
public DateTime StartDate { get; set; }
[DataType(DataType.Date)]
[DateGreaterThan("StartDate")]
public DateTime? EndDate { get; set; }
public int? CountryId { get; set; }
public virtual Country Country { get; set; }
public String Sport { get; set; }
public List<string> SelectedTeamIds { get; set; }
public virtual List<TeamViewModel> SelectedTeams { get; set; }
public List<int> SelectedEventIds { get; set; }
public virtual List<EventViewModel> SelectedEvents { get; set; }
public Meeting()
{
SelectedTeamIds = new List<string>();
SelectedTeams = new List<TeamViewModel>();
SelectedEventIds = new List<int>();
SelectedEvents = new List<EventViewModel>();
}
}
Это мой controllermethod Я заинтересован в:
public ActionResult Create()
{
ViewBag.CountryId = new MultiSelectList(db.Countries, "CountryId", "CountryName");
ViewBag.AvailableEvents = db.Events.Where(e => e.SchoolcupEvent == true);
ViewBag.AvailableTeams = db.Teams;
var model = new Meeting();
return View(model);
}
И это мнение этого метода:
@model Project.Domain.POCO.Meeting
<h2>Create</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Meeting</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.DisplayName("Country")
</div>
<div class="editor-field">
@Html.DropDownList("CountryId", "Pick a country")
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Location)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Location)
@Html.ValidationMessageFor(model => model.Location)
</div>
<div class="editor-label">
@Html.DisplayName("Start Date")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.StartDate)
@Html.ValidationMessageFor(model => model.StartDate)
</div>
<div class="editor-label">
@Html.DisplayName("End Date")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EndDate)
@Html.ValidationMessageFor(model => model.EndDate)
</div>
<div class="editor-label">
@Html.Label("Sports type")
</div>
<div class="editor-field">
@Html.RadioButtonFor(m => m.Sport, "Swimming") Swimming
@Html.RadioButtonFor(m => m.Sport, "Athletics") Athletics
</div>
<div class="editor-label">
@Html.Label("Select Event(s)")
</div>
<div class="editor-field">
@Html.ListBoxFor(model => model.SelectedEventIds, new MultiSelectList(ViewBag.AvailableEvents, "EventId", "Discipline", Model.SelectedEventIds), new { @class = "superselect" })
</div>
<div class="editor-label">
@Html.Label("Select Team(s)")
</div>
<div class="editor-field">
@Html.ListBoxFor(model => model.SelectedTeamIds, new MultiSelectList(ViewBag.AvailableTeams, "TeamId", "TeamId", Model.SelectedTeamIds), new { @class = "superselect" })
</div>
<p class="Button">
<input type="submit" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Styles.Render("~/Content/Css/UserInterface.css")
}
встреча состоит из ряда событий. Итак, проблема в ListBox с событиями, как я могу динамически загружать только события, принадлежащие ранее выбранному собранию. Я провел некоторое исследование по всему весомому Google, но все, что я получаю, - это ответы, связанные с javascript/jquery, и, поскольку мои знания в основном о них, я надеялся решить это по-другому, если это возможно. Если нет, не могли бы вы объяснить мне, что мне нужно делать, и что я делаю. Заранее спасибо.
самый простой способ заключается в использовании JQuery см http://www.billsternberger.net/asp-net-mvc/dynamically-populate-dropdownlist-in-asp-net-mvc/ –
Это Безразлично» я действительно объясняю, чего хочу достичь, хотя –