【问题标题】:Making a control visible on a seperate page, but not visible on the page which contains the control使控件在单独的页面上可见,但在包含该控件的页面上不可见
【发布时间】:2010-07-08 01:40:54
【问题描述】:

我有一个母版页(我们称之为“默认”)。这包含第二个页面(Web 用户控件)-“第二个”。最后是第三个“打印”页。 “打印”页面也是一个 Web 用户控件,但是它只有一个包含“第二”页面的占位符。

有没有办法可以将控件添加到“第二”页 - 例如文字,并且只在“打印”页上可见?

【问题讨论】:

  • 定义包含。你的意思是你有一个页面 Default.aspx 上面有两个控件,用户控件和打印控件(这将是用户控件的副本)?
  • 母版页“默认”包含一个“内容”占位符。有两个 Web 用户控件,“第二个”和“打印”。任何一个都可以显示在“内容”占位符中(基于用户导航)。 “打印”用户控件有一个占位符,其中包含“第二个”用户控件。所以理论上是的,'print'是'second'的副本。但是,我想在 'second' 中添加一个仅显示在 'print' 上的文字控件。

标签: c# asp.net


【解决方案1】:

听起来 CSS 实际上是解决您的问题的最佳方法。使用media attribute 指定什么是可见的,什么是不可见的。这是一个例子

<link rel="stylesheet" href="screen.css" media="screen">

其中包含...

.yourClass
{
    display:none;
}

然后还有:

<link rel="stylesheet" href="print.css" media="print">

其中包含...

.yourClass
{
    display:block;
}

因此,您的页面将包含两个样式表,并且您的控件将使用yourClass CSS 类。最终结果将是使用yourClass 的任何元素都只会在打印时可见。

【讨论】:

  • 赞成,假设“打印”控件仅用于打印。如果没有,您可能需要一些代码隐藏逻辑。
  • 这听起来像我想要的。但是,我有一个问题:当您说“仅在打印时可见”时 - 这是否意味着当“打印”控件显示在屏幕上时它不会显示?但是一旦打印出来就可以看到? “打印”控件仅用于打印,但它也向用户显示为一种“打印预览”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
相关资源
最近更新 更多