根据MVC Listbox和Checkbox的值更改标记元素

时间:2015-02-25 16:53:53

标签: javascript jquery asp.net-mvc

假设我的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
            };

1 个答案:

答案 0 :(得分:0)

通过“没有回发”,我指的是你没有重新加载页面。很好地使用AJAX可能需要POST,但它不会导致页面重新加载。无论如何,是的,如果你想在不重新加载整个页面的情况下更改页面的一部分,你必须使用JavaScript。如果您想通过从服务器检索的内容更改该部分,那么具体来说,您必须使用AJAX。