-2

リンク ボタン (l1、l2、l3..etc) のリストと固定 div エリアがあります。たとえば l1 をクリックすると、partialview1 が div 内に入力され、l2 をクリックすると、partialview2 が同じ div 内に入力されます。 partialview1.各部分ビューには異なるモデルがあります。私のコードは以下のとおりです: SettingsMaster.cshtml

@{
    ViewBag.Title = "ManageSettings";
    Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
@section JavaScript
{
    <script type="text/javascript" src="@Url.Content("/Scripts/SettingsCustomScript.js")"></script>
}
<h2>ManageSettings</h2>
@Html.ActionLink("Area", null, null, null, new {@id="Area", @style = "text-transform:capitalize;" })
@Html.ActionLink("Subarea", null, null, null, new {@id="SubArea", @style = "text-transform:capitalize;" })

<div id="Datadisplay"></div>

Java Script コード:カスタム Javascript ファイル

/// <reference path="jquery-1.8.3.js" />
/// <reference path="jquery-1.5.1-vsdoc.js" />

$(document).ready(function () {

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


        $("#Datadisplay").load('/Settings/GetArea', null, function (response, status, xhr) {

            if (status == "error") {

                alert("An error occured");
            }

            return false;

        });





    });

    $("#Subarea").click(function () {
        alert("hello");

    }

    );

コントローラーの方法:

public class SettingsController : Controller { // // GET: /Settings/
[HttpGet]
    public ActionResult ManageSettings()
    {
        return View();
    }

    [HttpGet]
    public ActionResult GetArea()
    {
        return PartialView("GetArea");

    }


}

しかし、レンダリング中に ManageSettings() を呼び出しているため、表示されません。何をすべきか助けてください

4

2 に答える 2

-1

シンプルな jquery 呼び出しを使用します。

リンク ボタンをクリックすると、$.Get(...) が実行され、コントローラーから返された部分ビューがレンダリングされます。

于 2013-07-01T08:12:55.940 に答える