我在IIS 6上运行了一个VS 2008 Web应用程序。在web.Config中,有一个这样的部分:
<location path="public">
<system.web>
<authorization>
<allow users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
我有一个用户控件,用于在不同位置的多个页面上提供内容。我希望该控件根据其所在页面的位置过滤内容。例如,如果控件位于上面示例中指定的“public”文件夹中的aspx页面上,我希望某些信息不会显示。
如何在我的代码隐藏中完成此操作?也许这个web.Config设置完全无关,对于这个问题,你决定。 VB或C#很好,我可以翻译。
也许是这样的? If path.Contains("public") Then filterResults()
谢谢! :)
答案 0 :(得分:1)
我会将一个公共属性添加到名为&#34; Mode&#34;的用户控件中。 OR&#34; ContextUrl&#34;或者那种效果。然后从该属性分支逻辑。你还应该有一个&#39;默认&#39;一套逻辑。
最终,拥有这种由公共财产决定的行为对于“开发者”而言更为直观和可测试。谁与您的用户控件进行交互,而不是隐藏在控件实现中的内容。