我將List<Listing>
對象傳遞給另一個操作方法,並使該方法使用該參數調用View。ASP.NET MVC null參數
出於某種原因,我傳遞的參數爲null。
下正常工作:
public ActionResult SortListing(string categoryGuid)
{
var listingCategory = new ListingCategory();
listingCategory = _tourismAdminService.GetByGuid<ListingCategory>(Guid.Parse(categoryGuid));
var listings = new List<Listing>();
foreach (var listing in _tourismAdminService.ListAllEntities<Listing>())
{
if (listing.CategoryId == listingCategory.Id)
{
listings.Add(listing);
}
}
return RedirectToAction("Index", "Listing", listings);
}
下面顯示了就要到了爲空的參數。
public ActionResult Index(List<Listing> listing)
{
var model = new ListListingsViewModel();
IEnumerable<ListingCategory> categories = _service.ListAllEntities<ListingCategory>();
if (categories != null)
{
model.Categories =
categories.Select(
cat =>
new SelectListItem
{
Text =
cat.GetTranslation(stringA,
stringB).Name,
Value = cat.Guid.ToString()
}).ToList();
}
model.Listings = listing ?? _service.ListAllEntities<Listing>();
return View(model);
}
EDIT
錯誤消息:
具有密鑰的ViewData項 'SelectedCategoryGuid' 的類型爲 '的System.Guid',但必須是類型爲 'IEnumerable的'。
開:
@Html.DropDownListFor(
m => m.SelectedCategoryGuid,
Model.Categories,
"Select a Category",
new {
id = "hhh",
data_url = Url.Action("SortListing", "Listing")
}
)
您好。我喜歡你的查詢字符串的第一個例子。你能否通知我如何做到這一點?你能否告訴我是否可以從第一種方法調用View,因爲我不需要第二種方法叫 – Subby
@Subby:是的。看到我更新的答案。 – Shyju
嘿Shyju。請檢查我的更新是否有新錯誤 – Subby