2013-07-29 152 views
0

我的需求就像我需要在動態div中顯示基於用戶按下添加另一個按鈕的局部視圖。我嘗試了下面的代碼,但我無法實現它。如何使用jquery複製或重複部分視圖

<html> 
<head> 
    <title>Index</title> 
    <script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js"></script> 
    <script type="text/javascript" src="../../Scripts/jquery-ui-1.8.11.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     var i = 0; 
      $("#chkAccecpt, #btnAccept").click(function() { 
     i++; 
     var divElement = "<br /><div id='container"+i+"'"+"> </div>"; 
       $("#frmAccept").append(divElement); 
       $("#container1").load('@Url.Content("../../Views/Shared/UserInfoPartialView.cshtml")'); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="MainContent"> 
    <form id="frmAccept" method="post" action="#"> 
     <input type="checkbox" id="chkAccecpt" value="1" /> AddAnother 
     <br /> 
     <input type="button" id="btnAccept" value="Add Another" /> 
     <br /> 
     <div id="userDetailsInfoContainer" class="Container"> 
      @Html.Partial("~/Views/Shared/UserInfoPartialView.cshtml") 
     </div> 
    // Here I need the dynamic container1 div with that partial view controls also 
    </form> 
    </div> 
</body> 
</html> 

回答

1

我會考慮獲取使用Ajax

$.get("/urlToPartialViewAction",function(data){ 
    $("#container1").html(data); 
}); 

這將會把在爲你的觀點,並將其插入到你選擇的容器的局部視圖。 只要確保你爲什麼從服務器 調用操作返回PartialView

0

只克隆容器

$('#container').clone().attr("id","container1").appendTo('#frmAccept'); 

,你無法從瀏覽器直接訪問視圖,你必須爲它添加行爲。

0

您可以使用JQuery的Ajax方法輕鬆完成此操作。它還允許將參數發送到操作。

$.ajax({ 
     url: "@Url.Action("YourActionName", "YourControllerName")", 
     //data: {param1: value1, param2: value2} //add your parameters here 
     success: function (data) {$("#container1").html(data)}, 
     error: $("#container1").html("") 
    )}