我有這使得一個局部視圖控制器動作:ASP.NET MVC渲染與jQuery AJAX局部視圖
public ActionResult Details(int id)
{
DetailsViewModel model =
ModelBuilder.GetDetailsViewModel(id, _repository);
return PartialView("Details", model);
}
和我加載返回的內容爲動態元素如下:
$container = appendContainer(); // adds a div to the dom with the correct id
$container.load("MyController/Details", function(response, status, xhr) {
if (status != "success") {
$(container).html('an error has occured');
}
});
所以這創建一個div,然後將返回的內容加載到該div。
我想稍微改變一下,這樣只有在控制器的調用 成功時才創建容器div。
所以:
- jQuery的調用控制器動作,如果ID未發現
- 如果返回PartialView,創建容器,並加載了返回的內容
- 控制器返回PartialView,或者爲null。
- 如果控制器未找到標識,則不會創建任何內容並顯示警報。
我很感激任何關於如何最好地實現這一目標的指針。
我對此的保留意見是,我基本上在View中使用未捕獲的異常,以便向UI返回空/未找到的狀態。如果找不到該項目,我寧願從我的控制器返回一個空值,但我看不到一種方法來處理這個問題。只是似乎有點代碼味道給我。 – fearofawhackplanet 2010-09-06 15:46:42
@fearofawhackplanet - 更新了我的答案。 – GenericTypeTea 2010-09-06 16:02:48