//aspx中设定占位符
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
//aspx中动态加载ascx
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
PlaceHolder1.Controls.Add(Page.LoadControl("center_1.ascx"));
}
//center_1.ascx 中Center_IM_Bu按键的代码
protected void Center_IM_Bu_Click(object sender, ImageClickEventArgs e)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('用户名或者密码错误');</script>", false);
}
你查看源码时会发现你的button按钮的type为submit,所有会刷新页面
我已经把它的submit设置为false还是不行
@MR.NSFOCUS: 你在园子里搜一下用户控件添加事件的资料来看看嘛。我也没做个。
@MR.NSFOCUS: 刚才试了一把,貌似你的js注册页面弄错了。你把this.GetType()换成typeof(你的aspx页面名称)。你试试
@MR.NSFOCUS:
//aspx.cs public partial class Index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //在这加载,会弹出js PlaceHolder1.Controls.Add(Page.LoadControl("Center_1.ascx")); } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { //在这加载,不会弹出js PlaceHolder1.Controls.Add(Page.LoadControl("Center_1.ascx")); } } //center_1.ascx.cs protected void Center_IM_Bu_Click(object sender, EventArgs e) { Page.ClientScript.RegisterStartupScript(typeof(Index), "", "<script>alert('用户名或者密码错误');</script>", false); }
你看一下,点击图片后加载能不能换成点击图片后显示什么的,这样就行了
@单恋: 不行!!我后台要访问数据库的.
@MR.NSFOCUS: 哦,那你在看一下嘛,或者自己百度找找资料。
http://www.cnblogs.com/volnet/archive/2008/05/10/1190818.html 看看这个能解决你的问题吗?
理论上是动态加载的问题,记得在使用用户控件的时候,需要在aspx文件最顶端注册它,然后再在页面上某个部分加载它。
我建议楼主可以先做一个在aspx文件中使用用户控件,看效果能否出来,若能够出来,再通过代码动态加载它。