在.net(C#)中 Response.write("执行"); } protected void Button1_Click(object sender, EventArgs e) {

2024-11-20 13:35:12
推荐回答(4个)
回答(1):

1.可以用Response.Write来动态写一个客户端控件;
2.引用Jquery脚本库(jquery-1.4.2.js);
3.建立Ajax访问页面如:当前站点下的Ajax文件夹下的ClickAjax.aspx页面;
4.在ClickAjax.aspx.cs文件里写以下方法:
privete string operator=string.Empty;
privete voit GetParam()
{
operator=获取页面参数值(这里自己写);
}
5.再写一个操作类:
private voit OperatorMethod()
{
switch(operator)
{
case "CreateBtn"://创建动态按钮
{
CreateBtn();
break;
}
}
}
6.在ClickAjax.aspx.cs页面的Page_Load里调用OperatorMethod();
7.在当前的页面上写以下脚本:

8.当然以上可以将按钮的click事件的内容写到类同CreateBtn方法里;
9.以上的看懂了其它的大同小易;

回答(2):

放页面加载page_load里是对的,至于你说的点击时候没有执行事件,是因为asp.net的服务器控件button在点击的时候,页面会回传到服务器端然后重新解析一次页面,造成你的页面重新加载了。
也就是说你的操作,是重新执行了page_load,而不是执行的btn_click,

protected void Page_Load(object sender, EventArgs e)
{
if(!ispostback)
{
createButton();
}
}
判断下是否是回传页面,如果是第一次加载,那么,程序将创建控件和事件。 是点按钮提交回去的,程序执行你的onclick函数。

回答(3):

你要明白,Click或Load事件发生在页面处理的过程中,此时页面的控件树已经确定了.虽然返回的是有动态创建的按钮的信息,但系统处理客户端提交数据时,Load事件并没有触发过,也就是此时控件树中这个控件并不存在.要解决此问题,可以将动态创建放在更早的位置,比如OnInit函数中,以便于系统初始化这个控件的返回数据.

回答(4):

只能放到page_load里面 要是不放page_load你点击按钮回发的时候Btn就不存在了,不信你试试触发其他的事件页面回发后Btn就没了,所以Btn_Click是不会执行的