2009-05-22 82 views
0

奇怪的问题,我已经建立了一个asp网站,我有以下问题: -用asp.net网站

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

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

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

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

+0

也许你可以发布一些代码,所以我们可以有一个更好的外观? – gehsekky 2009-05-22 18:11:44

回答

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

或者使用安全的方式:请IsAdmin一个属性,使之初始化本身第一个电话和高速缓存的结果一个变量

+0

你是什么意思添加到母版页? 我得到了管理员的工作,Web服务器没有启用Windows身份验证。但帮助我的网页标题。 – 2009-05-22 18:14:30

+0

@Anirudh:我修复了代码格式。现在您将了解@Christian通过“将主页添加到”的含义。 ;-) – Cerebrus 2009-05-22 18:16:57

0

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

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

0

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

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