0

我的要求就像我需要根据用户按下“添加另一个”按钮在动态 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>
4

3 回答 3

1

我会考虑使用 Ajax 获取部分视图

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

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

于 2013-07-29T05:05:54.003 回答
0

你为什么从服务器调用只是克隆容器

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

而且您不能直接从浏览器访问视图,您必须为其添加操作。

于 2013-07-29T05:09:25.133 回答
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("")
    )}
于 2013-07-29T07:27:33.510 回答