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>

問題は-ボタンをクリックすると、ページが部分ビューに移動します。代わりに、部分ビューHTMLをpタグでレンダリングする必要があります。これを行う方法 ?

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

次の HTML を削除@using (Html.BeginForm())して追加します。

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

コントローラ:

[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

ビューは次のようになります...

<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 に答える