我有三个图像按钮,他们有默认图像网址,我试图在用户点击任何图像按钮时更改图像网址,当用户点击其他图像按钮时默认检索按钮试图这样做但我没有
<aspx>
<div class="hom_but_sa hom_but_saR">
<asp:ImageButton ID="BTNPromotion" ImageUrl="images/home-bu_npro.jpg"
runat="server" Width="134" Height="34" border="0"
OnClick="BTNPromotion_Click" />
</div>
<div class="hom_but_a hom_but_sbR">
<asp:ImageButton ID="BTNNewProduct" ImageUrl="images/home-bu_pro.jpg"
runat="server" Width="134" Height="34" border="0"
OnClick="BTNNewProduct_Click" />
</div>
<div class="hom_but_a">
<asp:ImageButton ID="BTNEvent" runat="server" ImageUrl="images/home-bu_news.jpg"
Width="134" Height="34" border="0" OnClick="BTNEvent_Click" />
</div>
</div>
<cs>
protected void BTNEvent_Click(object sender, ImageClickEventArgs e)
{
BTNEvent.ImageUrl = "images/home-bu_news.jpg";
}
protected void BTNNewProduct_Click(object sender, ImageClickEventArgs e)
{
BTNNewProduct.ImageUrl = "images/home-bu_pro_r.jpg";
}
protected void BTNPromotion_Click(object sender, ImageClickEventArgs e)
{
BTNPromotion.ImageUrl = "images/home-bu_npro_r.jpg";
}
答案 0 :(得分:1)
根据我的评论,我不确定你的实际问题是什么,但也许你想要某种类似这样的切换?
protected void BTNEvent_Click(object sender, ImageClickEventArgs e)
{
BTNEvent.ImageUrl = "images/home-bu_news_r.jpg";
BTNNewProduct.ImageUrl = "images/home-bu_pro.jpg";
BTNPromotion.ImageUrl = "images/home-bu_npro.jpg";
}
protected void BTNNewProduct_Click(object sender, ImageClickEventArgs e)
{
BTNEvent.ImageUrl = "images/home-bu_news.jpg";
BTNNewProduct.ImageUrl = "images/home-bu_pro_r.jpg";
BTNPromotion.ImageUrl = "images/home-bu_npro.jpg";
}
protected void BTNPromotion_Click(object sender, ImageClickEventArgs e)
{
BTNEvent.ImageUrl = "images/home-bu_news.jpg";
BTNNewProduct.ImageUrl = "images/home-bu_pro.jpg";
BTNPromotion.ImageUrl = "images/home-bu_npro_r.jpg";
}
更简洁的方法是让一个点击事件通过将一个事件附加到所有ImageButton
OnClick
来处理它:
OnClick="BTN_Click"
然后实现Click
之类的:
protected void BTN_Click(object sender, ImageClickEventArgs e)
{
ImageButton btn = (ImageButton)(sender);
BTNEvent.ImageUrl = (btn.ID.Equals("BTNEvent")) ?
"images/home-bu_news_r.jpg" : "images/home-bu_news.jpg";
BTNNewProduct.ImageUrl = (btn.ID.Equals("BTNNewProduct")) ?
"images/home-bu_pro_r.jpg" : "images/home-bu_pro.jpg";
BTNPromotion.ImageUrl = (btn.ID.Equals("BTNPromotion")) ?
"images/home-bu_npro_r.jpg" : "images/home-bu_npro.jpg";
}
答案 1 :(得分:0)
尝试在ImageButton上设置EnableViewState="false"
答案 2 :(得分:0)
这可以通过Javascript轻松实现。在所有三个按钮的onclick事件中调用以下功能,请检查以下代码,
function imageurl(id)
{
//assuming image button ids as test1,test2,test3
switch(id)
{
case 'test1':
document.getElementById('test1').href = 'test1newurl';
document.getElementById('test2').href = 'test2oldurl';
document.getElementById('test3').href = 'test3oldurl';
break;
case 'test1':
document.getElementById('test1').href = 'test1oldurl';
document.getElementById('test2').href = 'test2newurl';
document.getElementById('test3').href = 'test3oldurl';
break;
case 'test1':
document.getElementById('test1').href = 'test1oldurl';
document.getElementById('test2').href = 'test2oldurl';
document.getElementById('test3').href = 'test3newurl';
break;
}
}