首页 新闻 赞助 找找看

动态加载ascx后,点击ascx中的一个button控件,页面被刷新,而且执行不了button控件中的代码

0
悬赏园豆:140 [待解决问题]

//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);
    }
    

MR.NSFOCUS的主页 MR.NSFOCUS | 初学一级 | 园豆:64
提问于:2014-03-19 21:23
< >
分享
所有回答(3)
0

你查看源码时会发现你的button按钮的type为submit,所有会刷新页面

单恋 | 园豆:678 (小虾三级) | 2014-03-20 09:57

 我已经把它的submit设置为false还是不行

支持(0) 反对(0) MR.NSFOCUS | 园豆:64 (初学一级) | 2014-03-20 10:24

@MR.NSFOCUS: 你在园子里搜一下用户控件添加事件的资料来看看嘛。我也没做个。

支持(0) 反对(0) 单恋 | 园豆:678 (小虾三级) | 2014-03-20 10:30

@MR.NSFOCUS: 刚才试了一把,貌似你的js注册页面弄错了。你把this.GetType()换成typeof(你的aspx页面名称)。你试试

支持(0) 反对(0) 单恋 | 园豆:678 (小虾三级) | 2014-03-20 10:40

@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);
        }                
View Code

你看一下,点击图片后加载能不能换成点击图片后显示什么的,这样就行了

支持(0) 反对(0) 单恋 | 园豆:678 (小虾三级) | 2014-03-20 11:04

@单恋: 不行!!我后台要访问数据库的.

支持(0) 反对(0) MR.NSFOCUS | 园豆:64 (初学一级) | 2014-03-20 11:29

@MR.NSFOCUS: 哦,那你在看一下嘛,或者自己百度找找资料。

支持(0) 反对(0) 单恋 | 园豆:678 (小虾三级) | 2014-03-20 11:34
0

http://www.cnblogs.com/volnet/archive/2008/05/10/1190818.html 看看这个能解决你的问题吗?

小彬 | 园豆:947 (小虾三级) | 2014-03-20 15:49
0

理论上是动态加载的问题,记得在使用用户控件的时候,需要在aspx文件最顶端注册它,然后再在页面上某个部分加载它。

我建议楼主可以先做一个在aspx文件中使用用户控件,看效果能否出来,若能够出来,再通过代码动态加载它。

EveryDing | 园豆:198 (初学一级) | 2014-03-31 22:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册