下面是我的控制器,它将列表输出到部分视图。我的问题是如何将ActionResult输出呈现为下拉列表。 (我不想使用ViewBag)
using System.Web.Mvc;
namespace CMS.Controllers
{
public class ArticleTypeController : Controller
{
// GET: ArticleType
[ChildActionOnly]
public ActionResult Get(int _siteId)
{
using (var ctx = new CMSEntities())
{
List<articleType> listArticleType = CMS.Models.Cms.getArticleTypes(CMS.Models.Cms.getSiteId()).ToList();
List<SelectListItem> items = new List<SelectListItem>();
foreach (var item in listArticleType)
{
items.Add(new SelectListItem { Value = item.id.Value.ToString(), Text = item.name });
}
items.Add(new SelectListItem { Value = "0", Text = "--Select--", Selected=true });
return PartialView(items);
}
}
}
}
视图如下所示:
@model List<SelectListItem>
<h2>test</h2>
答案 0 :(得分:0)
如果您有一个要尝试绑定所选值的模型属性,则可以传递一个lambda表达式来指示要绑定的属性,框架将生成相应的名称:
@Html.DropDownList(m => m.FinancialYearID, MySelectList,
"Select option", new { @class= "foo" ,data-somename="dataName"})
你的局部视图应该只有这个下拉列表,你可以使用下面的Jquery函数在任何你想要的地方渲染这个局部视图
renderPartialInDiv("partial view url","div id or class")