我正在尝试使我的网络应用程序像桌面应用程序一样。我也不使用任何_LayoutPage
和@RenderBody()
。
我有一个 ContentPage
作为 MasterPage 和一个名为 main
的标签。我正在使用 ajax get
方法来渲染我的 View 或部分 View ,如下所示:
$.get(url).done(function (result) {
$("main").html(result);
});
我设法使用 JavaScript 函数注入(inject)我的 script
和 css
文件。
现在我想在不使用 JavaScript 函数的情况下传递一些特定的数据。
我猜可以通过使用 ViewBag 来实现。
我想从我的 partialView
传递该数据:
ViewBag.BodyClass = "signup-page";
到我的MainPage
,如下所示:
<body class="@ViewBag.BodyClass">
我怎样才能做到这一点?
最佳答案
如果您有一个脚本管理器 ($.get) 可以调用您的服务器来获取 View 和部分 View ,那么没问题。
当您请求 URL 时,通常 MVC 会调用 Controller 和操作。在该操作中,您可以返回内容、 View 、部分 View 、文件等...
您可以创建类模型的新实例并传递到您的分部 View 。
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¶meter1=test¶meter2=foo")
在您的 View 或部分 View 中:
@model YourApp.Models.ModelTest
<body class="@Model.BodyClass">
我一直用这个。
关于javascript - 将使用 $.get() 呈现的部分 View 中的任何数据传递到 ContentPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40319214/