gpt4 book ai didi

c# - 使用 MVC ViewContext 渲染 View 时指定样式表媒体

转载 作者:行者123 更新时间:2023-11-30 12:46:23 24 4
gpt4 key购买 nike

以我敏锐的眼光,我有:

<link rel="stylesheet" href="css/print-layout.css" media="print" type="text/css" />

在打印页面时正确应用该样式表。

但是,在某些情况下,我会使用类似以下内容将 View 呈现为 HTML 字符串:

var razorViewEngine = new RazorViewEngine();
ViewEngineResult viewResult = razorViewEngine.FindView(context, viewName, "_Layout", false);
// ...
var writer = new System.IO.StringWriter();
var viewContext = new ViewContext(context, viewResult.View, viewData, tempData, writer);
viewResult.View.Render(viewContext, writer);
return writer.ToString();

这样做时,如何指定媒体类型,以便应用上面列出的“print-layout.css”样式表?

最佳答案

打印样式表由查看用户代理(浏览器)在打印时应用。

你可以改变媒体=“打印”media="all" 使其适用于所有媒体类型。

更新:

为什么不尝试设置要在渲染时应用的样式表?

尝试 ( RenderPartial ) 传递一些数据,以便您可以有条件地使用“打印”或“全部”。

更新 2:HTML 输出不会不同,只有应用于人类查看的实际呈现页面的 CSS 规则。或者您是否希望查看哪些样式应用于最终呈现的页面 DOM 而不是 HTML 的外观?

关于c# - 使用 MVC ViewContext 渲染 View 时指定样式表媒体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20508848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com