假设我的MVC视图中有以下标记:
<div class="row">
<div class="col-xs-6">
<label>UI Element:</label>
@Html.DropDownListFor(m => m.SelectedUIItem, Model.UIItems)
</div>
<div class="col-xs-6">
@Html.LabelFor(m => m.UseWholeMarkup)
@Html.CheckBoxFor(m =>m.UseWholeMarkup)
</div>
</div>
我想获取Drop Down和Checkbox的值,并动态更改我将在这些元素下面显示的内容,而不进行回发。我需要使用JQuery / JavaScript来做到这一点吗?怎么样?
视图模型是:
// DropDownList
public string SelectedUIItem { get; set; }
public IEnumerable<SelectListItem> UIItems { get; set; }
// Checkbox
[DisplayName("Use Whole Markup ")]
public bool UseWholeMarkup { get; set; }
下拉列表中包含:
List<SelectListItem> listUIItems = new List<SelectListItem>();
// DropDownList
SelectListItem selList2 = new SelectListItem
{
Text = "HEADER",
Value = "HEADER",
Selected = false
};
listUIItems.Add(selList2);
selList2 = new SelectListItem
{
Text = "BODY",
Value = "BODY",
Selected = false
};
listUIItems.Add(selList2);
// DropDownList
selList2 = new SelectListItem
{
Text = "FOOTER",
Value = "FOOTER",
Selected = false
};
listUIItems.Add(selList2);
UIItemsViewModel viewModel = new UIItemsViewModel
{
UIItems = listUIItems
};
答案 0 :(得分:0)
通过“没有回发”,我指的是你没有重新加载页面。很好地使用AJAX可能需要POST,但它不会导致页面重新加载。无论如何,是的,如果你想在不重新加载整个页面的情况下更改页面的一部分,你必须使用JavaScript。如果您想通过从服务器检索的内容更改该部分,那么具体来说,您必须使用AJAX。