【发布时间】:2010-08-09 14:19:33
【问题描述】:
protected void Page_Load(object sender, EventArgs e)
{
string menuIDdata = Page.Request.QueryString["mid"];
menuID = 0;
// Check the user is allowed here
if (!Roles.IsUserInRole("Admin"))
{
Response.Redirect("../default.aspx");
}
// Get the menu ID
if (int.TryParse(menuIDdata, out menuID))
{
menuID = int.Parse(menuIDdata);
}
else
{
menuID = 0;
}
debugLabel.Text = "WORKING";
var selectedMenu = this.Page.FindControl("mnu" + menuID) as Panel;
selectedMenu.CssClass = "navButtonO";
}
在页面上:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="admin.aspx.cs" Inherits="*******._Default" title="Administration" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="mainHead" runat="server" >
<title>Administration</title>
<link rel="Stylesheet" href="../style/admin.css" />
</head>
<body>
<form id="mainForm" runat="server">
<div class="topMenu">
<asp:Panel id="mnu0" runat="server" class="navButton">
<a href="admin.aspx" class="navLink">Admin Home</a>
</asp:Panel>
<asp:Panel id="mnu1" runat="server" class="navButton">
<a href="admin.aspx" class="navLink">User Manager</a>
</asp:Panel>
<asp:Panel id="mnu2" runat="server" class="navButton">
<a href="admin.aspx" class="navLink">Products</a>
</asp:Panel>
</div>
<br /><br />
<div class="subMenu">
<a href="products.aspx" class="subLink">Products</a> <a href="productCats.aspx" class="subLink">Categories</a>
</div>
<br /><br />
Welcome to the Admin
<br /><br />
<asp:label id="debugLabel" runat="server" />
</form>
</body>
</html>
调试标签拒绝更改它的值,我希望它显示“正在工作”,因为它是文本,我做错了什么?
更新:
尝试构建时出现 3 个错误:
错误 1 类型 '******._Default' 已经定义了一个名为 'Page_Load' 的成员,具有相同的参数 types\Default.aspx.cs 12 24
x3 但在不同的页面上
【问题讨论】:
-
想必你调试的时候可以看到label text assignment line被打了?
-
我会说 debugLabel.Text = "WORKING" 这一行永远不会被击中。
-
呸,我正在从远程服务器打开 Visual Studio 中的文件,调试不允许我拥有权限或其他东西
-
在浏览器上查看 html 源代码。标签呈现为跨度标签。
-
是否在页面类级别声明了 menuID?如果您不是管理员用户,它会重定向吗?