如何使用jquery复制或重复局部视图

时间:2013-07-29 04:59:42

标签: c# jquery asp.net-mvc asp.net-mvc-4

我的要求是我需要根据用户按下添加另一个按钮在动态div中显示局部视图。我尝试了下面的代码,但我无法实现它。

<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>

3 个答案:

答案 0 :(得分:1)

我会考虑使用Ajax

获取部分视图
$.get("/urlToPartialViewAction",function(data){
   $("#container1").html(data);
});

这将为您添加视图并将其插入您选择的容器中。 只需确保操作返回PartialView

即可

答案 1 :(得分:0)

你为什么要从服务器打电话 只是克隆容器

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

并且您无法直接从浏览器访问视图,您必须为其添加操作。

答案 2 :(得分: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("")
    )}