急急急:DataList的ItemTemplate的ASP.net控件响应客户端脚本并不执行本ASP.net控件的服务器端事件

时间:2022-06-06 07:54:43
我想把以下JavaScript脚本
window.open('TicketPrice.aspx','data','width=800,height=538 ,top=0, left=0,ScrollBars=auto,resizable=1')
return false;

作为DataList的ItemTemplate的asp:ImageButton控件的客户端onclick事件,并且它的onclick事件不响应Server端的onclick事件。请高手帮忙。
也就是说在在onclick时本面不提交服务器的基础之上新打开'TicketPrice.aspx'页。

10 个解决方案

#1


ImageButtonid.Attributes.Add("onclick","javascript:window.open....");

#2


<script>
function xx()
{ window.open('TicketPrice.aspx','data','width=800,height=538 ,top=0, left=0,ScrollBars=auto,resizable=1')
return false;
}
</script>


在DataList数据绑定的时候
if(e.Item.ItemIndex > -1)
{
    ImageButton ibtn = (ImageButton)e.Item.FindControl(yourButtonId);
    ibtn.Attriutes.Add("onclick","return xx();");
}

#3


回复:brightheroes(闭关|那一剑的风情)
你的写法不得先提交回服务器吗?
事件不能响应Server端的onclick事件。

#4


item_create event:

imageButton btn=(ImageButton)e.item.FindControls("imgbtnID");
if(btn!=null)
{
 btn.Attributes.Add("onclick","window.open.......,return false;")
}
-----------------------------------------
btn.Attributes.Add("onclick","return fun()")



js:

<script.....
function fun()
{
window.open('TicketPrice.aspx','data','width=800,height=538 ,top=0, left=0,ScrollBars=auto,resizable=1')
return false;


}



------------------------------------
既然不提交,不如直接用客户端IMG

#5


以上写法全都不提交服务器:

如果要根据数据选择打开页面,就在绑定事件里写.

#6


——————————
回复:brightheroes(闭关|那一剑的风情)
你的写法不得先提交回服务器吗?
事件不能响应Server端的onclick事件。
——————————
这个onclick是客户端JS的onclick,只不过写在服务器端而已,你可以使用

#7


回复:ryg221() 
这是DataList的ItemTemplate的asp:ImageButton控件。

#8


item_create event:

imageButton btn=(ImageButton)e.item.FindControls("imgbtnID");
if(btn!=null)
{
 btn.Attributes.Add("onclick","window.open.......,return false;")
}
-----------------------------------------
btn.Attributes.Add("onclick","return fun()")

你的这段代码在什么时候执行啊?

#9


回复:brightheroes(闭关 &brvbar;那一剑的风情)
你的写法不得先提交回服务器吗?
事件不能响应Server端的onclick事件。

----这个事件是在CLIENT执行的,不过在数据绑定的时候指定执行哪个客户端事件而已
你不用担心
页面是不会刷新的

#10


谢谢各位兄弟的顶立相助。
在下感激不尽。
我的分少了些,大家请谅解。

#1


ImageButtonid.Attributes.Add("onclick","javascript:window.open....");

#2


<script>
function xx()
{ window.open('TicketPrice.aspx','data','width=800,height=538 ,top=0, left=0,ScrollBars=auto,resizable=1')
return false;
}
</script>


在DataList数据绑定的时候
if(e.Item.ItemIndex > -1)
{
    ImageButton ibtn = (ImageButton)e.Item.FindControl(yourButtonId);
    ibtn.Attriutes.Add("onclick","return xx();");
}

#3


回复:brightheroes(闭关|那一剑的风情)
你的写法不得先提交回服务器吗?
事件不能响应Server端的onclick事件。

#4


item_create event:

imageButton btn=(ImageButton)e.item.FindControls("imgbtnID");
if(btn!=null)
{
 btn.Attributes.Add("onclick","window.open.......,return false;")
}
-----------------------------------------
btn.Attributes.Add("onclick","return fun()")



js:

<script.....
function fun()
{
window.open('TicketPrice.aspx','data','width=800,height=538 ,top=0, left=0,ScrollBars=auto,resizable=1')
return false;


}



------------------------------------
既然不提交,不如直接用客户端IMG

#5


以上写法全都不提交服务器:

如果要根据数据选择打开页面,就在绑定事件里写.

#6


——————————
回复:brightheroes(闭关|那一剑的风情)
你的写法不得先提交回服务器吗?
事件不能响应Server端的onclick事件。
——————————
这个onclick是客户端JS的onclick,只不过写在服务器端而已,你可以使用

#7


回复:ryg221() 
这是DataList的ItemTemplate的asp:ImageButton控件。

#8


item_create event:

imageButton btn=(ImageButton)e.item.FindControls("imgbtnID");
if(btn!=null)
{
 btn.Attributes.Add("onclick","window.open.......,return false;")
}
-----------------------------------------
btn.Attributes.Add("onclick","return fun()")

你的这段代码在什么时候执行啊?

#9


回复:brightheroes(闭关 &brvbar;那一剑的风情)
你的写法不得先提交回服务器吗?
事件不能响应Server端的onclick事件。

----这个事件是在CLIENT执行的,不过在数据绑定的时候指定执行哪个客户端事件而已
你不用担心
页面是不会刷新的

#10


谢谢各位兄弟的顶立相助。
在下感激不尽。
我的分少了些,大家请谅解。