App_Code中定义基类Baseage
/// <summary>
///BasePage基类,检查用户是否登录
/// </summary>
public class BasePage : Page
{
private SimpleUserInfo simpleUserInfo; public SimpleUserInfo SimpleUserInfo
{
get {return simpleUserInfo;}
} public BasePage()
{
//在所有页面中利用页面加载事件统一身份验证
Load += new EventHandler(BasePage_Load);
} protected void Page_PreInit(object sender, EventArgs e)
{
this.Theme = "SkinFileCN";
} /// <summary>
/// 用户是否登陆判断
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void BasePage_Load(object sender, EventArgs e)
{
//Session["SimpleUserInfo"]是在前台登录界面登录成功时设置的
simpleUserInfo = Session["SimpleUserInfo"] as SimpleUserInfo;
//如果用户没有登录则调转到登录页面
if (simpleUserInfo == null)
{
string target = Request.Url.ToString();
if (string.IsNullOrEmpty(target))
{
Response.Redirect("~/Login.aspx");
}
else
{
Response.Redirect("~/Login.aspx?target=" + Server.UrlEncode(target));
}
}
}
}
在页面中调用
public partial class Login : BasePageLogin
{
protected void Page_Load(object sender, EventArgs e)
{
...
}
}但是报错了
调试出错点
protected void Page_PreInit(object sender, EventArgs e)
{
this.Theme = "SkinFileCN";
}
运行完这段代码就出错了具体错误信息:控件包含代码块(即 <% ... %>),因此无法修改控件集合。
/// <summary>
///BasePage基类,检查用户是否登录
/// </summary>
public class BasePage : Page
{
private SimpleUserInfo simpleUserInfo; public SimpleUserInfo SimpleUserInfo
{
get {return simpleUserInfo;}
} public BasePage()
{
//在所有页面中利用页面加载事件统一身份验证
Load += new EventHandler(BasePage_Load);
} protected void Page_PreInit(object sender, EventArgs e)
{
this.Theme = "SkinFileCN";
} /// <summary>
/// 用户是否登陆判断
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void BasePage_Load(object sender, EventArgs e)
{
//Session["SimpleUserInfo"]是在前台登录界面登录成功时设置的
simpleUserInfo = Session["SimpleUserInfo"] as SimpleUserInfo;
//如果用户没有登录则调转到登录页面
if (simpleUserInfo == null)
{
string target = Request.Url.ToString();
if (string.IsNullOrEmpty(target))
{
Response.Redirect("~/Login.aspx");
}
else
{
Response.Redirect("~/Login.aspx?target=" + Server.UrlEncode(target));
}
}
}
}
在页面中调用
public partial class Login : BasePageLogin
{
protected void Page_Load(object sender, EventArgs e)
{
...
}
}但是报错了
调试出错点
protected void Page_PreInit(object sender, EventArgs e)
{
this.Theme = "SkinFileCN";
}
运行完这段代码就出错了具体错误信息:控件包含代码块(即 <% ... %>),因此无法修改控件集合。
解决方案 »
- 如何点击按钮动态增加asp.net页面的内容
- 无法打开登录所请求的数据库 "**"。登录失败。用户 'sa' 登录失败。
- UpdateProgress 不能定义css名么???
- 高分求办公系统!!!
- 请问怎样通过程序控制MultiPage显示某个PageView
- 两个菜鸟级的问题!
- 一个标签包含一个方法,一个方法对应两个超链接
- 请问IList与dataset有什么区别?哪个在传输数据时更好一些
- 请教如何在asp.net页面显示asp.net标签!
- 关于wap 2.0开发…………急!!!在线等。
- 有没有好看一点的用户注册页面的模板啊
- Repeater中的LinkButton怎么实现点击后变灰色使其Enabled = false
public partial class Login : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
...
}
}但是报错了
调试出错点
protected void Page_PreInit(object sender, EventArgs e)
{
this.Theme = "SkinFileCN";
}
运行完这段代码就出错了具体错误信息:控件包含代码块(即 <% ... %>),因此无法修改控件集合。
this.Theme这是什么控件啊。。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Left.aspx.cs" Inherits="Login" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>登录</title>
<script type="text/javascript">var imgpath='images/CN/';var expandall=false;var nowmenu=<%=intMenuIndex %>;</script>
<script type="text/javascript" src="js/navbar.js"></script></head>
<body>
<form id="form1" runat="server">
...
</form>
</body>
</html>
是不是改过页面名字啦
那是你的皮肤里面有这个了?
this.Theme=“”;这个Theme是皮肤?最多只是皮肤名。。
有了
如果不要这句,不导入BasePage_Load就正常
Load += new EventHandler(BasePage_Load);
Page_PreInit到底在什么时候运行?
这样试一下。 public BasePage()
{
this.Theme = "SkinFileCN"; //在所有页面中利用页面加载事件统一身份验证
Load += new EventHandler(BasePage_Load);
}
可能是这行吧,改下试试
wwx6312388,我试了,去掉所有的<%=%>,就好了
但是,如果把下边的代码去掉,那么有<%=%>也没有关系,不知道为什么?
protected void Page_PreInit(object sender, EventArgs e)
{
this.Theme = "SkinFileCN";
}
把<head>中的js放到<head>之外就可以了
但是很迷惑,为什么会这样呢?请求高手解答
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Left.aspx.cs" Inherits="Login" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>登录</title>
<script type="text/javascript">var imgpath='images/CN/';var expandall=false;var nowmenu=<%=intMenuIndex %>;</script></head> <script type="text/javascript">var imgpath='images/CN/';var expandall=false;var nowmenu=<%=intMenuIndex %>;</script><script type="text/javascript" src="js/navbar.js"></script>
<script type="text/javascript" src="js/navbar.js"></script>
<body>
<form id="form1" runat="server">
...
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Left.aspx.cs" Inherits="Login" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>登录</title>
</head><script type="text/javascript">var imgpath='images/CN/';var expandall=false;var nowmenu=<%=intMenuIndex %>;</script>
<script type="text/javascript" src="js/navbar.js"></script>
<body>
<form id="form1" runat="server">
...
</form>
</body>
</html>
放在head之内,那就服务器端运行,所以就会出错
因为你用了主题,所以在运行时期,head会去添加link元素,所以出现这个问题
一般放body里面