2014-01-29 41 views
2

我有一個局部視圖,彈出對話框中的代碼如下。但是,在用戶保存部分視圖後,當我再次單擊ActionLink時,該部分視圖中的數據不會刷新,直到我停止調試並重新啓動應用程序。但是,新的記錄在我的數據庫中。另一個問題是當我重新啓動應用程序時,由於下面的錯誤,我無法更新記錄。我錯過了什麼?謝謝。MVC4,使用jQuery渲染對話框中的部分視圖,如何刷新

An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key. 

在我看來

<div id="assign-dialog"></div> 

的ActionLink的DIV標籤在同一視圖

@Html.ActionLink("Assign", "Edit", "Assignment", new { id = Model.InfoId}, new { @class = "assign-modal" }) 

jQuery的

$(function() { 

$(function() { 
    $('#assign-dialog').dialog({ 
     autoOpen: false, 
     width: 400, 
     height: 500, 
     resizable: true, 
     modal: true 
    }); 

    $('.assign-modal').click(function() { 
     $('#assign-dialog').load(this.href, function() { 
      $(this).dialog('open'); 
     }); 
     return false; 
    }); 

});

的HTTP GET操作

[HttpGet] 
    [Authorize(Roles="Admin")] 
    public ActionResult ViewAssignment(int id = 0) 
    { 
      RequestAssignment query = _assignmentRepository.GetCurrentAssignment(id); 

      return PartialView("_ViewAssignment", query) 
    } 

UPDATE:

我原本跟着下賈森的回答的動態部分javascript/jquery modal popup dialog MVC 4/render partial view的步驟,但不知道要放什麼東西在「客戶端部分,空現在「

......沒關係,所以關閉一些其他帖子我已閱讀這是我能夠想出,但沒有任何反應,當我點擊我的鏈接。

查看HTML

<a href="#" class="dialog-trigger" data-infoId="@Model.InfoId">Assign</a> 
    <div id="assign-modal"> 

    </div> 

jQuery的

//Dialog Box for Assignments 
$(".dialog-trigger").on("click", function(event) { 
    event.preventDefault(); 
    var infoId= $(this).data("infoId"); 
    $.ajax({ 
     url: "RequestAssignment/Edit/" + infoId, 
     type: "GET" 
    }) 
    .done(function(result) { 
     $("#assign-modal").html(result).dialog("open"); 
    }); 
}); 
+0

我總是刷新我的諧音與Ajax調用。看看我的答案這裏的例子http://stackoverflow.com/questions/19643864/how-do-i-render-a-partial-form-element-using-ajax/19643974#19643974 –

+0

謝謝。我認爲這是我陷入困境的地方。我查看了數十篇文章,並且無法確定如何使其變爲動態,因爲它會根據ID調出編輯視圖。我認爲問題是我無法將ID從View傳遞到jQuery。我原本有一個帶有data-Id屬性的內聯標籤,我認爲這個標籤通過了變量。我看了這個動態的例子http://stackoverflow.com/questions/16577011/javascript-jquery-modal-popup-dialog-mvc-4-render-partial-view並沒有任何成功 –

+0

如果你使用ajax調用有一個數據參數,您可以使用要發送到視圖的標識設置數據參數。只要數據中的變量完全匹配控制器上的輸入參數,它就會通過 –

回答

相關問題