-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 脚本代码:自定义 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

0

我在堆栈溢出的另一篇文章中读到了这个,它对我有用

在视图中:

    @model Tuple<IEnumerable<Model1name>,Model2name>
    @foreach (var item in Model.Item1)
    {
        @item.Name
    }

在控制器中:

    var tuple = new Tuple<IEnumerable<Model1name>, Model2name>(context.Model1name.ToList(), new Model2name());
    return View(tuple); 
于 2013-10-29T23:26:51.653 回答
-1

使用一个简单的 jquery 调用。

单击链接按钮时,您执行 $.Get(...) 并渲染控制器返回的局部视图

于 2013-07-01T08:12:55.940 回答