关于ASP.NET前后台事件触发调用问题

shenlan1226 2011-07-21 01:11:58
备注:用vs2008写asp.net网站
我在default.aspx.cs里写了如下代码:

protected void Page_Load(object sender, EventArgs e)
{
//通过数据库连接查询,显示结果集中的每张图片,并为每张图片设置文件下载button(如下)
//每个button的name是不一样的,这里只写了一个
……
string button_str = "<input type=button name=downLoad_button value=\"下载\" runat=\"server\" onclick=\"DoDownLoad\">";
Response.Write(button_str);
……
}
protected void DoDownLoad(object sender, EventArgs e)
{
Response.Write("<script>window.alert('下载功能待完成');</script>");
}

问题:由于是通过.cs代码创建的button,当点击button时,页面错误提示“DoDownLoad未定义”。
根据页面源代码的显示,从.cs文件写到页面上的<input type...>标签是在<html>标签的前面的。

要怎么做才能让“下载”按钮的click事件能调用到.cs文件里的DoDownLoad方法呢?求高人指点
...全文
236 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-07-23
  • 打赏
  • 举报
回复
子夜__ 2011-07-23
  • 打赏
  • 举报
回复
b.Click += new System.EventHandler(this.DoDownLoad);
shenlan1226 2011-07-23
  • 打赏
  • 举报
回复
我找到解决方案了,谢谢大家的帮助
正解:

protected void Page_Load(object sender, EventArgs e)
{
Button b = new Button();
b.Text = "下载";
b.Click += new System.EventHandler(this.DoDownLoad);
}
protected void DoDownLoad(object sender, System.EventArgs e)
{
....
}
shenlan1226 2011-07-21
  • 打赏
  • 举报
回复
关键在于button不是在前台用<asp:Button>标签创建的(如果是的话,完全没有问题的),是在.cs文件里写到页面上的,他找不到DoDownLoad方法, 即使是用隐藏按钮的事件调用也是同样的结果,关于ajax,有没有详细点的用法说明?

shenlan1226 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yankai159357 的回复:]

应该是 这样吧protected void DoDownLoad_Click(object sender, EventArgs e) 可以试试
[/Quote]

2楼的 如果这样的话,不是应该这么写onclick="DoDownLoad_Click"?
这样没用的。。。
ASPNETCHENGXU 2011-07-21
  • 打赏
  • 举报
回复
1.使用ajax
2.前台拖一个button按钮然后隐藏,在别的地方定义一个js脚本触发它的onclic事件,就能执行按钮事件
油泼白菜 2011-07-21
  • 打赏
  • 举报
回复
可以采用 AjaxPro
随心录123 2011-07-21
  • 打赏
  • 举报
回复
应该是 这样吧protected void DoDownLoad_Click(object sender, EventArgs e) 可以试试
shiyuyao1987 2011-07-21
  • 打赏
  • 举报
回复
在页面拖一个服务器控件,然后通过js调用该服务器控件的点击事件

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧