2

私のコントローラーのアクションは次のとおりです。

        public ActionResult PVInPage()
        {
            return View();
        }

        public ActionResult ViewPage2()
        {
            return PartialView();
        }

私のメインビュー:

@using (Html.BeginForm("ViewPage2", "PartialViewInPage"))
{    
    <input type="submit" value="Call Page Two" />  
}

<div id="DisplayPartilView">

        @*display partial view *@

</div>

私の部分的な見解は:

  @{
        ViewBag.Title = "View Page 2";
    }

    <div style="width:500px; height:200px; background-color:Gray" >


     <h1> This is my Partial view </h1>

    </div>

今やりたいこと:メインビューで送信ボタンをクリックすると、部分ビューが発生します

id="DisplayPartilView" を使用したメイン ビューの内部 div。返信ありがとうございます

4

3 に答える 3

1

別のページに移動せずに data/html をページにロードする場合は、Ajax を使用する必要があります。

ASP.Net MVC は、Ajax で動作する一連のヘルパーを提供します (それらはすべて内部でjQuery.Ajaxを使用するため、いつでも 1 つのレベルに戻って手動で ajax 呼び出しを記述できます)。

しかし、あなたの場合、Ajax.BeginForm必要なものすべてを提供します:

したがって、メイン ビューを次のように変更します。

@using (Ajax.BeginForm("ViewPage2", "PartialViewInPage", 
        new AjaxOptions() { UpdateTargetId = "DisplayPartilView" }))
{    
    <input type="submit" value="Call Page Two" />  
}

<div id="DisplayPartilView">

        @*display partial view *@

</div>

これを機能させるには、メイン ビューまたは jQuery の後のレイアウト ファイルで次のスクリプトを参照する必要があります。

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
于 2012-10-01T06:42:57.310 に答える
0

私のプロジェクトでは、私はこのようにやっていますそれは以下です

これは私のボタンです。クリックすると、このようにdivに部分的なビューが読み込まれます。

<script type="text/javascript">
    $(function () {
        $("#btnLode").click(function () {
            $("#LodeForm").load("/City/ShowAllState", function () {
                alert("Your page loaded Successfully !!!!!!!");
            });
        });
    });

</script>

<div id="LodeForm">
</div>

これはこの問題の別の解決策です

@using (Ajax.BeginForm("SearchCountry", "City",
    new AjaxOptions
    {
        InsertionMode = InsertionMode.Replace,
        HttpMethod = "Get",
        LoadingElementId = "ajax-loader",
        UpdateTargetId = "CountryListID",
    }))
{

    <input type="submit" value="search Country" data-autocomplete-source="@Url.Action("SearchCountry", "City")" />        
}
<div id="CountryListID">
</div> 

私はこれがあなたを助けると思います

于 2012-10-01T06:46:08.577 に答える
0
@using (Html.BeginForm("ViewPage2", "PartialViewInPage"))

ページが更新されるため、必要ですajax

.serialize()を使用してすべての入力からデータを取得し、.ajax()を使用してpostリクエストを作成し、部分的に設定します。

$('#DisplayPartilView').html(response);
于 2012-10-01T06:43:25.770 に答える