2

我有一个像下面这样的区域。

在此处输入图像描述

以下是控制器操作。

[HttpGet]
public ActionResult Index_partial()
{
    return PartialView("_PartialPage1");
}

[HttpGet]
public ActionResult Index()
{
    AdminModule model = new AdminModule();
    model.MyName = "My Name";
    return View("Index", model);
}

看法

@model _1.Areas.Admin.Models.AdminModule
@{
    ViewBag.Title = "Index";
    Layout = "~/Areas/Admin/Views/Shared/_LayoutPage1.cshtml";
}
<h2>
    Index</h2>
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript">
</script>
<script type="text/javascript" src="/scripts/jquery.unobtrusive-ajax.js">
</script>
<div id="myForm">
    @using (Html.BeginForm())
    {
        <p id="pid">
        </p>
        <input onclick="ClickHere();" type="submit" value="Button" />
    }
    <script language="javascript" type="text/javascript">
        function ClickHere() {
        debugger;
            var url = '@Url.Action("Index_partial", "Admin")';
            $('#p').load("@Url.Action("Index_partial", "Admin")");
        }

    </script>
</div>

====================================

局部视图

@model _1.Areas.Admin.Models.AdminModule
@using (Ajax.BeginForm("Index", "Admin", 
             new AjaxOptions { UpdateTargetId = "myForm", HttpMethod = "Post" }))
{
    @Html.LabelFor(i => i.MyName)
    @Html.TextBoxFor(i => i.MyName)
    @Html.ValidationMessageFor(i => i.MyName)
    <p id="getDateTimeString">
    </p>
    <input type="submit" value="Click here" id="btn" />
}

======================================

在视图中,我有一个按钮,单击它应该呈现部分视图

<p id="pid"></p>

问题是 - 单击按钮将页面导航到部分视图,它应该在 p 标记中呈现部分视图 Html。这该怎么做 ?

4

5 回答 5

2
  1. 去除那个@using (Html.BeginForm())
  2. 为您的按钮添加一个 id

< input onclick="ClickHere();" type="submit" id="Button" value="Button" />
  1. 将您的点击事件重新分配给不显眼的而不是内联的:

$('#Button').click(function(){
       debugger;
            var url = '@Url.Action("Index_partial", "Admin")';
            $('#p').load("@Url.Action("Index_partial", "Admin")");
        }
  1. 更改您的部分退货

return PartialView("_PartialPage1");
于 2013-02-06T14:05:47.110 回答
1

删除@using (Html.BeginForm())并添加这段 HTML:

<p id="pid"></p>

<button type="button" id="mybtn">Load partial view</button>

然后,添加一点 jQuery:

(function() {
    $('#mybtn').click(function() {
        $.ajax({
            url: '@Url.Action("Index_partial", "Admin")',
            type: 'GET',
            cache: false,
            success: function(result) {
                $('#pid').empty().html(result);
            }
        });
    });
});
于 2013-02-06T14:05:39.747 回答
0

控制器:

[HttpGet]
public ActionResult Index_partial()
{
    return PartialView("_PartialPage1");
}

在视图/javascript 内部。

<script language="javascript" type="text/javascript">
    function ClickHere() {
        $.ajax({
        url: "@Url.Action(MVC.Admin.Index_partial())",
        async: false,
        data: { },
        success: function(data) {
            $("#pid").empty();
            $("#pid").html(data);
        }
    });
    }
</script>

我使用T4MVC生成 url。

希望这可以帮助。

于 2013-02-06T14:09:00.053 回答
0

家庭控制器:

[HttpGet]
public ActionResult PartialView()
{
   return this.PartialView("PartialView");
}

看法

<script type="text/javascript">

    $(document).ready(function () {

        $("#btnSubmit").click(function() {

            $("#renderedHtml").load('Home/PartialView');

        });

    });

</script>


    <div id="renderedHtml"></div>
    <input type="submit" value="Get Partial" id="btnSubmit" />
于 2013-02-06T14:27:40.920 回答
0

视图应该是这样的...

<div id="myForm">
    <p id="pid">
    </p>
</div>
<input id="BTN" type="submit" value="Button" />
<script language="javascript" type="text/javascript">
    $('#BTN').click(function(){
        $('#pid').load("@Url.Action("Index_partial", "Admin")");
    });
</script>
于 2013-02-06T14:34:48.530 回答