//添加一个组操作保存按钮
Button btnAllSave = new Button();
btnAllSave.ID = "btnAllSave";
btnAllSave.Click += new EventHandler(btnAllSave_Click);
btnAllSave.Attributes.Add("onclick", "javascript:return confirm('保存后无法恢复,确认保存?')");
btnAllSave.Text = "保存设置";
btnAllSave.CssClass = "button";
this.GridView1.FooterRow.Cells[7].Controls.Add(btnAllSave);
protected void btnAllSave_Click(object sender, EventArgs e)
{
this.lblMessage.Text = "执行了";
Response.Write("<script>alert('jake')</script>");
return;
}
大家帮忙看看,为什么点击按钮的时候,无法响应事件呢?
Button btnAllSave = new Button();
btnAllSave.ID = "btnAllSave";
btnAllSave.Click += new EventHandler(btnAllSave_Click);
btnAllSave.Attributes.Add("onclick", "javascript:return confirm('保存后无法恢复,确认保存?')");
btnAllSave.Text = "保存设置";
btnAllSave.CssClass = "button";
this.GridView1.FooterRow.Cells[7].Controls.Add(btnAllSave);
protected void btnAllSave_Click(object sender, EventArgs e)
{
this.lblMessage.Text = "执行了";
Response.Write("<script>alert('jake')</script>");
return;
}
大家帮忙看看,为什么点击按钮的时候,无法响应事件呢?
解决方案 »
- koukoujiayi近来领分
- 存储过程,大家帮我看看那里错了?
- 在vs.net2005中需要怎样配置才能用ajax开发B/S程序呢?用不用下载第三方组件或者别的开发工具?
- 我的信誉分少两分,但是回帖子时,信誉分,还是100分.是什么问题.贴子ID:5436184我怎么找到这个帖子
- 一群天才向“前”飞,一会儿排成S型,一会儿排成B型
- 100分 【WebService】 你一定懂的。
- RangeValidator验证控件的问题
- imagebutton上面的图片如何取到他的图片的宽度?(说难不难,但很难!)
- 页面使用frame时,怎样只显示其中的一个frame?以及frame的初始化问题。
- 关于一个SQL语句
- Gridvie中值的问题
- GridView单元格的问题,大家帮帮我看看
其实不用想就知道,btnAllSave.Click += new EventHandler(btnAllSave_Click); 这句没放对地方.
当你点击该按钮后 发生回传 页面重新加载 你天加的按钮事件 没了
所以没响应事件
这需要你用AJAX 异步的方式 来实现该功能
那应该放在什么地方呢?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridView();
PagerDataBind();
} //this.GridView1.PagerSettings.Mode = PagerButtons.NumericFirstLast;
//this.GridView1.PagerSettings.FirstPageText = "首页";
//this.GridView1.PagerSettings.LastPageText = "尾页";
//this.GridView1.PagerSettings.Position = PagerPosition.TopAndBottom;
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGridView()
{
//这里的代码省略了,是绑定GridView1数据的 //添加一个组操作保存按钮
Button btnAllSave = new Button();
btnAllSave.ID = "btnAllSave";
btnAllSave.Click += new EventHandler(btnAllSave_Click);
btnAllSave.Attributes.Add("onclick", "javascript:return confirm('保存后无法恢复,确认保存?')");
btnAllSave.Text = "保存设置";
btnAllSave.CssClass = "button";
this.GridView1.FooterRow.Cells[7].Controls.Add(btnAllSave);
}
protected void btnAllSave_Click(object sender, EventArgs e)
{
this.lblMessage.Text = "执行了";
Response.Write(" <script>alert('jake') </script>");
return;
}
但是我的客户端代码可以执行啊?
btnAllSave.Attributes.Add("onclick", "javascript:return confirm('保存后无法恢复,确认保存?')");
这段会执行的!
{
this.lblMessage.Text = "执行了";
Response.Write(" <script>alert('jake') </script>");
return;
} 这个没执行吧! 因为回传 刷没了
具体怎么做呢?这个Button是动态的?
有没有案例介绍一下可以吗?
---------------------------谢谢上面所有大虾的意见!
动态生成按钮 给该按钮写JS function test(){}实现功能
异步的方式执行 实现你要的功能
恩,我也相信是这样。因为我点击那个按钮的时候,页面刷新了,但是那个Button不见了。
这点证明你所说的。不过因为每一个PageSize都是要有这个Button,所有在数据绑定之后重新初始化了一次Button,但是这样做的效果就是像上面所诉的现象!不知道有没有什么好的解决方案,请指教!谢谢你的回复!
恩,谢谢。我去试试!不过这样,我的项目里面已经用了一个AJAX框架了。
MagicAjax.dll
经过处理的,支持中文。
试试看吧,不知道会否成功!
不知道你的意思是不是说:要把BindGridView();放在Page_Load里面的if(!IsPostBack)之外?
就是要每次都能执行到?但是如果这样的话,每次都被刷新成以前的数据了,我的数据如何能保存呢?
我试过了,如果这样做,的确是可以执行了,但是先前数据就刷没了,PagerDataBind(); 事件执行了2次。
算了,我还是改用静态的Button吧,谢谢各位的回复,现在结贴!
改为
btnAllSave.Attributes.Add("onclick", "javascript:if (!confirm('保存后无法恢复,确认保存?')) {return false;}");
无法响应是此事件未实例化
btnAllSave.Click += new EventHandler(btnAllSave_Click);
放在窗中设计中
放在Page_Load事件里面?还是?
我的按钮是页面动态生成的,不是窗体设计上的啊?