我是MVC的新手,我希望看到两件事:
1 - 数据列表(3列) 2 - 我可以过滤列表的下拉列表(填充第一列中的数据)
在我的控制器中我有以下功能:
public ViewResult ListUrl()
{
var ws = new Service1();
localhost.Service1 s1 = new Service1(); // data from web services
localhost.UrlInfo[] ui = s1.GetUrlInfo();
for (int i = 0; i < ui.Length; i++)
{
var UrlItem = new UrlItem();
UrlItem.Id = Convert.ToInt32(ui[i].Id);
UrlItem.urlll = ui[i].url;
UrlItem.toontijd = ui[i].ToonTijd;
UrlItem.positie = Convert.ToInt32(ui[i].positie);
Models.ListUrl.UrlList.Add(UrlItem);
}
var urlname = from url in s1.GetUrlInfo() select url ;
ViewData["url"] = new SelectList(urlname, "Id", "url");
return View();
}
在视图中:
<script type="text/javascript">
$(document).ready(function () {
// How can I filter the list (see <table> tag) when I change index of dropdown list???
});
</script>
@Html.DropDownList("SelectedItem", (SelectList)ViewData["url"], "----- all ------", new { id = "0", text = "----- all ------" })
<table>
<tr>
<th>
Url
</th>
<th>
Toontijd
</th>
<th>
Positie
</th>
</tr>
@foreach (var item in ListUrl.UrlList)
{
<tr>
<td>
@item.urlll.ToString()
</td>
<td>
@item.toontijd.ToString()
</td>
<td>
</td>
<td>
@item.positie.ToString()
</td>
</tr>
}
如何让dropdownlist更改事件正常工作? 非常感谢。
希沙姆。
答案 0 :(得分:1)
嗯..你需要为此做点什么..让我分一步解释..
制作一个控制器操作方法,将下拉选择作为参数并返回网格局部视图作为结果
$.get('yourActionURL', { parameter: $('#yourDropdownId').val() }, function(result) {
$('#grid').html(result);
});
Filtering a WebGrid with a DropDownList in MVC4和ASP.NET MVC Filtering results in a list/grid - 这些链接可以为您提供详细信息。