我正在尝试使我的 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">
我该怎么做?
如果你有一个脚本管理器($.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¶meter1=test¶meter2=foo")
在您的观点或部分观点中:
@model YourApp.Models.ModelTest
<body class="@Model.BodyClass">
我一直用它。
我在我的
partialView
上写了那个代码。它在 ContentPage
的 body 标签处添加了一个类
$("body").addClass("signup-page");