0

我已经建立了一个asp网站,但我遇到了以下问题:-

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

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

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

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

4

3 回答 3

2
  1. 尝试添加<head runat=server>到母版页。只有这样 ASP.net 才能“看到”标签并对其进行修改
  2. 几个 aspx 页面具有相同的类名并没有那么糟糕。ASP.NET 2.0 开始将每个页面作为自己的编译单元来处理。页面不能互相看到。有一个特殊的指令可以让页面互相看到并实例化或操作它们。所以它应该不会造成太大的伤害
  3. 也许您没有正确测试它并且误认为它在 Visual Studio 中有效???但无论如何,我建议您将逻辑移到 OnInit 中,然后它运行得更早。我认为控件树是在 Page.OnLoad 之前构建的。您所做的是数据绑定,它可能仅在调用 DataBind 时运行,我不确定

或者使用安全的方法:IsAdmin创建一个属性,以便它在第一次调用时初始化自己并将结果缓存在一个变量中

于 2009-05-22T18:12:00.823 回答
0

关于问题 #2 - 通过项目添加您的内容页面 -> 添加新项目,并在那里适当地命名。这样命名始终是一致和正确的。

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

于 2009-05-22T18:22:21.803 回答
0

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

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

于 2009-05-22T18:25:51.253 回答