我有一个名为category的模型类,可以从数据库中检索数据:
public class HomeController : Controller
{
private StoreContext db;
public HomeController()
{
db = new StoreContext();
}
public ActionResult Categories()
{
return View(db.Categories.ToList());
}
}
我想使用DropDownList
辅助方法在视图中显示它们,并且我希望其中的所有类别都是clickable
,例如,单击它们时,它必须 adress < / em>您指定的url
属于单击的类别。有没有办法通过DropDownList
助手来实现这一目标?如果是,那怎么办?
答案 0 :(得分:1)
您可以执行此操作,但必须使用Jquery
。如果您问如何?
例如:
我的样本实体
public class Category
{
public int Id { get; set; }
public string Url{ get; set; }
public string Name { get; set; }
}
我的动作
public IActionResult Categories()
{
var list = new List<Category>();
for (int i = 0; i < 10; i++)
{
list.Add(new Category(){Id = i, Url = "https://stackoverflow.com", Name = "stackoverflow" });
}
var selectList = list.Select(x => new SelectListItem() {Value = Url, Text = x.Name})
.ToList();
return View(selectList);
}
在我看来:
@Html.DropDownList("url",Model, "Choose a URL", new { id = "url_list" })
然后使用jquery可以订阅此下拉列表的change事件并导航到相应的URL:
$(function() {
$('#url_list').change(function() {
var url = $(this).val();
if (url != null && url != '') {
window.location.href = url;
}
});
});