Asp.net 如何隐藏浏览器的菜单?

Asp.net 如何隐藏浏览器的菜单?,asp.net,javascript,Asp.net,Javascript,我正在为在线测验开发一个ASP.NET应用程序。这组问题将从问题库中随机选择。该应用程序工作正常,但我想隐藏浏览器菜单选项,以便用户在显示测验页面时无法保存或打印测试。我不想打开一个新的弹出窗口。那么如何为活动窗口执行此操作 该应用程序由大约5个网页组成,测试在第3页和第4页上进行。所以我希望菜单只隐藏在第3页和第4页。这可能吗?我该怎么做? 提前感谢这是不可能的。只能在弹出窗口中隐藏菜单栏 不过,无论哪种方式,用户都可以右键单击并选择“打印”,或者使用快捷方式(如Ctrl+p)。即使您可以隐藏

我正在为在线测验开发一个ASP.NET应用程序。这组问题将从问题库中随机选择。该应用程序工作正常,但我想隐藏浏览器菜单选项,以便用户在显示测验页面时无法保存或打印测试。我不想打开一个新的弹出窗口。那么如何为活动窗口执行此操作

该应用程序由大约5个网页组成,测试在第3页和第4页上进行。所以我希望菜单只隐藏在第3页和第4页。这可能吗?我该怎么做?
提前感谢

这是不可能的。只能在弹出窗口中隐藏菜单栏


不过,无论哪种方式,用户都可以右键单击并选择“打印”,或者使用快捷方式(如Ctrl+p)。即使您可以隐藏菜单,他们也可以禁用JavaScript。如果他们真的想打印/保存测验,你不会阻止他们。我建议另找一个解决办法。

我认为不可能按你的要求去做

请记住,除了使用浏览器的菜单外,还有其他打印方式:Ctrl+p通常可以这样做,也可以从右键单击菜单或使用Ctrl+s保存页面,当然,还有打印屏幕-

您可能拥有的最佳保护是定义一个正确的许可证,这意味着您可能需要一名律师,以获得可靠的信息,明确禁止重新分发问题:这样,您的用户可以为他们重新使用问题-无论如何,您无法阻止-但不能重新分发问题


当然,只有当你正在开发一些带有你将要出售的问题的测验时,这才可能是值得的。

一旦页面呈现到屏幕上,最终的控制权就归用户所有。他可以关闭javascript并完成必要的工作,也可以通过多种方式捕获页面


最好不要尝试这样做。

只要数据在用户的计算机中,他可能会以某种方式访问数据,我不确定这是否值得这么做

如果您想拒绝打印,您可以尝试使用一些特殊的CSS媒体类型,例如使用display:none或color:fff定义一些样式

但即使如此,用户也可能只需按下PrntScr:

您还可以通过在整个HTML正文上使用onKeyDown事件来截获ctrl+p击键,并停止Bubbling,但它可能无法在同一个跨浏览器中工作

您还可以通过处理onContextMenu事件来拒绝在页面上单击鼠标右键


此外,问题应呈现为图像,或拒绝从页面中选择文本,这样用户将无法在电子邮件mmight help中复制/粘贴问题

Ok感谢所有人的帮助: