SHORT:
如何讓控制器返回當前視圖或只是簡單地不做任何事情?如何?控制器不返回任何內容/當前視圖
LONG:
我有一個局部視圖,我創建了一個imagelider。 它包含一個鏈接,它向控制器發送請求以獲取下一個圖像(使用ajax)。 控制器讀取下一個圖像,將其存儲在ViewData中併發回部分視圖(上面的圖像)。
現在,我今天做的是,當控制器到達最後一張圖像時,它會重新返回相同的圖像(通過重新設定它),但仍會創建一個新視圖,即客戶機/瀏覽器重新解析「相同」的數據。
這似乎有點不理想。
我想要做的是,當控制器到達最後一個圖像時,它應該什麼也不做。
如果我返回null,那麼視圖更新爲空內容。
我希望視圖/客戶端/瀏覽器保留它所擁有的任何內容,並且控制器不做任何事情。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetNextImage(...)
{
if(Request.IsAjaxRequest())
{
if(CURRENT_IMAGE != LAST_IMAGE)
{
Image image = GetNextImage(...);
var partialViewResult = new PartialViewResult();
partialViewResult.ViewName = "ImageSlide";
partialViewResult.ViewData.Model = image;
return partialViewResult;
}
else
{
// DO NOTHING, HOW?
}
}
return RedirectToAction("Error", "Home");
}
就像我所期待的,但沒有答案。下面是一個令人耳目一新的頁面,我甚至不喜歡。因爲我的javascript/jquery更新了用戶界面,並且服務器端沒有什麼更新用戶界面,只是期望一個標誌來查看我的控制器是否成功執行某個任務。如果是的話,我更新用JavaScript/jQuery的用戶界面,如果不是,那麼只用它更新某些東西(如複選標記)。我喜歡保留所有其他頁面內容,因爲它沒有刷新效果,因此不會爲用戶操作殺死JavaScript更改。下面的答案。不工作,因爲它返回空白視圖。 – AKS 2015-06-22 07:31:07