加载局部视图

时间:2014-07-31 08:48:34

标签: asp.net-mvc c#-4.0

我正在尝试使用index.cshtml中的以下内容加载部分视图。但是btn加载没有做任何我使用stadnard mvc互联网模板加载jquery的东西。

    <input id="btnLoad" type="button" value="LoadRegsitrationForm"/>
    <br/>

    <!-- partial view container -->
    <div id="divPartialViewContainer" >
    </div>

    <script type="text/javascript">
        $(document).ready(function () {

            $('#btnLoad').click(function () {

                $.ajax({
                    url: '/Home/HtmlControlTest/',
                    type: 'POST',
                    contentType: 'application/html',
                    //data: JSON.stringify(model),
                    success: function (content) {
                        $('#divPartialViewContainer').html(content);
                    },
                    error: function (e) { }
                });
            });

        });

    </script>

然后在我的HomeControler cs中我有以下

    [HttpPost]
    public ActionResult HtmlControlTest()
    {
        return PartialView("HtmlControllerTest");
    }

然后在我的HtmlControllerTest中。我只有一些标签和文本框。我不知道如何在此处显示此代码,因为它将其转换为元素。

我使用局部视图的原因是我想尝试构建一个表单构建器并且认为这是最好的方法但是如果我每次想要加载部分时都要做一个帖子它不会是无论如何我都在做更有效率的事情。

1 个答案:

答案 0 :(得分:2)

将您的ajax调用纠正为:

      $.ajax({
                url: '/Home/HtmlControlTest/',
                type: 'POST',
                contentType: 'application/html',
                datatype:'html',     <------------
                success: function (content) {
                    $('#divPartialViewContainer').html(content);
                },
                error: function (e) { }
            });

您必须在ajax调用中包含数据类型为html,因为部分视图是  返回HTML。