asp.net中动态添加的事件失效

asp.net中动态添加的事件失效,第1张

很明显你对ASP.NET的生命周期和表单提交机制不了解,这样动态添加的控件显然在点击按钮二次提交页面刷新之后就没有了 两个解决办法: 一:控件加到前台 二:band_ui放到postback判断之外 还有个办法需要很多的自定义代码处理回传的逻辑

键入btn.Click+=

然后按Tab键,vs会自动生成事件的相关代码。

void btn_Click(object sender, EventArgs e)

{

Button btn=sender as Button    //得到单击的Button。

Response.Write(btn.ID)    //输出该Button的ID。

//这里执行你自定义的方法Do

}

void Do(string str,int i)

{

你的自定义的方法内容。

}

你添加的是 js事件.只能通过前段浏览器捕获,是不能提交到后台的.

方案1,给动态控件添加对应的服务器事件

Button.Command += new CommandEventHandler(this.On_Button)

自己写相应委托的 On_Button事件,

或者直接绑定OnClick事件.

方案2,还用你的方法,但是在前端 用js完善update()方法. 在js的update方法中调用AJAX反馈给服务器数据,服务器处理.

思路, ASP.net的任何服务器事件其实都是通过js的前端触发,把页面上的数据重新回传给了后台,可以了解下ASP.NET生命周期.

因此方案1是 直接调用ASP.NET机制 在前台自动生成了回传的js函数

而方案2是手动编写回传函数.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11399017.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存