2011-08-30 20 views
2

我是新手,剛開始學習asp.net mvc,因爲我正在通過局部視圖教程,並且創建了一個工作正常的小測試應用程序。爲什麼Asp.net局部視圖不能返回?

我有一個頁面,其中有一個客戶訂單,每個項目都有一個編輯按鈕,用於添加或刪除項目並按下它,我可以增加項目或從購物車中刪除項目。而對於這樣的行爲,我使用

HTML.actionlink("+", "AddToCart", "Orders", new { orderid=tempcart.orderid }, 
new AjaxOptions()  
{ 
     OnBegin = "showplaces", 
     OnSuccess = "hideloader" 
}, null); 

所以,當我點擊它進入AddToCart()動作按鈕並更新數據庫中的表,但它不更新的局部視圖和loader.gif永遠停留在該頁面並且不調用hideloader()函數。

你能告訴我有什麼問題嗎?

+2

我強烈建議你不要使用內置ajax的東西。除了混淆你之外,它什麼都不會做。使用JQuery:http://stackoverflow.com/questions/578443/asp-net-mvc-ajax-with-jquery和http://iridescence.no/post/Invoking-ASPNET-MVC-Actions-from-JavaScript-using -jQuery.aspx是相當不錯的文章。 – tugberk

+1

您可以粘貼錯誤堆棧跟蹤或提供有關錯誤的更多詳細信息。 –

回答

3

1 - 首先用戶Ajax.ActionLink因爲要更新的局部視圖

-2-酮的事情也放在購物車的DIV ID,以便它可以在動作完成後得到更新。

3-和我有這樣的問題一次,所以我做了以下內容:

附加屬性onFailure處在HT

Ajax.ActionLink("+", "AddToCart", "Orders", new { orderid=tempcart.orderid }, 
new AjaxOptions()  
{ 
     UpdateTargetId = "cart_divId", 
     OnBegin = "showplaces", 
     OnFailure = "ShowDOMExcep", 
     OnSuccess = "hideloader" 
}, null); 

,並使用這種方法來獲得DOM異常:

function ShowDOMExcep(context) { 

    var html = context.get_data(); 
    var placeholder = context.get_updateTarget(); 
    $(placeholder).html(html); 
    return false; 
} 

希望這可以幫助...

+1

@S首先感謝所有指針。是的,我在重新生成部分視圖時發現錯誤。謝謝 –

相關問題