加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用MVC ViewContext呈现视图时指定样式表媒体

发布时间:2020-12-15 21:59:31 所属栏目:百科 来源:网络整理
导读:在我的剃刀观点中,我有: link rel="stylesheet" href="css/print-layout.css" media="print" type="text/css" / 在打印页面时正确应用该样式表. 但是,在某些情况下,我使用以下内容将视图呈现为HTML字符串: var razorViewEngine = new RazorViewEngine();Vi
在我的剃刀观点中,我有:

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

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

但是,在某些情况下,我使用以下内容将视图呈现为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的样子?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读