我的数据库中有一个列表。在我的视图中,我有一个包含类别的 DropDownList。一个类别包含许多列表。
当我选择一个特定的类别时,我希望只显示那些选择了该类别的列表。
我主要担心的是如何生成 JQuery 以在我的 ListingController 中调用我的 SortListing 方法。
这是当前的 HTML (Razor):
@Html.DropDownListFor(m => m.Categories, Model.Categories, "Select a Category")
我的排序列表方法:
public List<Listing> SortListing(string categoryId)
{
var listings = new List<Listing>();
foreach (var listing in _service.ListAllEntities<Listing>())
{
if (listing.CategoryId == categoryId)
{
listings.Add(listing);
}
}
return listings;
}
编辑我有以下内容。将 categoryGuid 设为 null。
这是我的代码:
$(function () {
$('#SelectedCategoryGuid').change(function () {
var url = $(this).data('url');
var categoryId = $(this).val();
$.ajax({
url: url,
type: 'GET',
cache: false,
data: { categoryId: categoryId },
success: function (result) {
// TODO: manipulate the result returned from the controller action
}
});
});
});
</script>
<h2>Index</h2>
@Html.ActionLink("Create New Listing", "Create")
<br/>
<strong>Filter Listings</strong>
@Html.DropDownListFor(
m => m.SelectedCategoryGuid,
Model.Categories,
"Select a Category",
new {
id = "SelectedCategoryGuid",
data_url = Url.Action("SortListing", "Listing")
}
)