将使用 $.get() 呈现的局部视图中的任何数据传递给 ContentPage

问题描述 投票:0回答:2

我正在尝试使我的 Web 应用程序像桌面应用程序一样。我也使用任何

_LayoutPage
@RenderBody()

我有一个

ContentPage
作为 MasterPage 和一个名为
main
的标签。我正在使用
ajax get
方法来呈现我的视图或部分视图,如下所示:

  $.get(url).done(function (result) {
            $("main").html(result);
        });

我设法用 javascript 函数注入我的

script
css
文件。

现在我想在不使用 javascript 函数的情况下传递一些特定的数据。

我猜可以通过使用 ViewBag 实现。

我想从我的

partialView
传递数据:

 ViewBag.BodyClass = "signup-page";

像这样对我的

MainPage

<body class="@ViewBag.BodyClass">

我该怎么做?

javascript asp.net-mvc parameter-passing asp.net-mvc-partialview viewbag
2个回答
1
投票

如果你有一个脚本管理器($.get)调用你的服务器来获取视图和部分视图,没问题。

当你请求一个 URL 时,通常 MVC 会调用一个 Controller 和 Action。在该操作中,您可以返回内容、视图、部分视图、文件等...

您可以创建类模型的新实例并传递给您的局部视图。

public ActionResult Index(string parameter1, string parameter2)
{
     var model = new Models.ModelTest();
     model.BodyClass = "some class";

     return PartialView("_Page", model);
}

你会这样称呼一些人:

$.get("http://localhost/app/getviews?id=3422&parameter1=test&parameter2=foo")

在您的观点或部分观点中:

@model YourApp.Models.ModelTest

<body class="@Model.BodyClass">

我一直用它。


0
投票

我在我的

partialView
上写了那个代码。它在
ContentPage
的 body 标签处添加了一个类

$("body").addClass("signup-page");
© www.soinside.com 2019 - 2024. All rights reserved.