asp.net网站的奇怪问题

时间:2009-05-22 18:01:23

标签: asp.net master-pages publishing

我已经建立了一个asp网站,我有以下几个问题: -

我正在使用其中的母版页并在内容中定义了两个内容占位符,并且在@page指令的最顶层指令中指定了页面标题,但页面标题未显示起来。我必须为它手动添加标签。

其次,当我从母版页创建内容页面时,它会创建它,当我重命名它时,它不会重命名它的类。它仍然是_Default,因此每个页面都有_default的继承。

最重要的是 我正在使用页面进入数据库并查看数据。我使用了一个名为isadmin的布尔值,我根据页面加载时的凭据设置了它。我添加了一个面板,其可见属性设置为Visible = '<%#IsAdmin %>'。当我通过可视工作室环境运行它时,它可以正常工作,但是当我发布它并运行它不起作用时,面板就会出现并停留在那里。为什么会这样?任何的想法? 感谢

可见问题已修复,因为我必须在服务器上启用Windows身份验证。等待其他两个问题的答案。感谢

3 个答案:

答案 0 :(得分:2)

  1. 尝试将<head runat=server>添加到母版页。只有这样ASP.net才能“看到”标签并对其进行修改
  2. 几个aspx页面具有相同的类名并不是那么糟糕。 ASP.NET 2.0开始将每个页面作为自己的编译单元处理。页面无法看到对方。有一个特殊的指令可以使页面相互看到并实现或操纵它们。所以它不应该造成太大的伤害
  3. 也许你没有正确测试这个并且误以为它在Visual Studio中工作了???但无论如何我建议你将你的逻辑移动到OnInit,然后它运行得更早。我认为控制树是在Page.OnLoad之前构建的。你做的是数据绑定,只有在调用DataBind时才可以运行,我不确定
  4. 或者使用安全方式:将IsAdmin设为一个属性,以便它在第一次调用时初始化并将结果缓存在变量中

答案 1 :(得分:0)

关于问题#2 - 通过项目添加您的内容页面 - &gt;添加新项目,并在那里适当地命名。这样,命名在整个过程中都是一致和正确的。

关于#3,从服务器运行时会输出什么HTML?

答案 2 :(得分:0)

您的第一个问题可以通过填写.aspx页面中@Page指令的标题部分来解决。母版页将在浏览器标题栏中显示该文本。

和问题#2应该通过使用visual studio中的文件添加选项添加文件来解决。