您的位置:首页 > 运维架构

MVC3 使用动态生成的DropDownList,更新partial view

2012-03-18 17:49 211 查看

Demo简述:使用动态生成的DropDownlist,动态更新partial view

Control 动态生成 DropdownList 的方法



public ActionResult Index() { var products = (from product in context.GetTable<Product>() select product).ToList(); var categorys = (from category in context.GetTable<ProductCategory>() select new SelectListItem { Text = category.Title, Value = category.Id.ToString() }).ToList(); List<SelectListItem> listItem = new List<SelectListItem>(); listItem.Add(new SelectListItem { Text = "Choose an option"}); listItem.AddRange(categorys); ViewData["products"] = products; ViewData["categorys"] = listItem; return View(); } public ActionResult GetProductById(string id) { var products = from product in context.GetTable<Product>() select product; if (!string.IsNullOrEmpty(id) && id != "All") { products = products.Where(p => p.ParentId.ToString() == id); } return PartialView("ProductControl1", products.ToList()); }Index View:

<div id="loading" style="display:none;color:Red;font-weight:bolder"> Loading Data..... </div> <fieldset> <span>Choose different Product</span> <div> @using(Ajax.BeginForm ("GetProductById", new AjaxOptions { UpdateTargetId = "productList", Confirm = "Do you submit the request?", LoadingElementId = "loading", LoadingElementDuration = 2000 } ) ) { @Html.DropDownListFor(model => Model.Id,ViewData["categorys"] as List<SelectListItem>) <input type="submit" value="Submit" /> } </div> </fieldset> <div id="productList"> @{Html.RenderPartial("ProductControl1",ViewData["products"]);} </div>PartialView

@model IEnumerable<MvcApp.Product> <table> <tr> <td>Title</td> <td>Price</td> <td>CreateTime</td> </tr> @foreach(var p in Model) { <tr> <td>@p.Title</td> <td>@p.Price</td> <td>@p.CreateTime</td> </tr> } </table>

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: