2010-08-11 4 views
0

Возможно ли разместить две кнопки в одном и том же положении на странице aspx. В зависимости от некоторого состояния он должен отображать один из них.2 кнопки в том же положении. Дисплей в разное время!

<asp:ImageButton ID="btnapply" ImageUrl="../images/apply.gif" runat="server" 
    ImageAlign="Right" OnClick="imgApply_Click" ValidationGroup="0" /> 
<asp:ImageButton ID="btnremove" ImageUrl="../images/remove.gif" runat="server" 
    ImageAlign="Right" OnClick="imgremove_Click" ValidationGroup="0" /> 
+0

Какая у вас проблема, что вы не чувствуете, что это возможно. Просто используйте клиентскую сторону css, чтобы скрыть ее и показать другую. Затем вы можете переключаться с помощью некоторого javascript, если вам нужно, чтобы они спустились на страницу. – spinon

ответ

2

Вариант 1: Если вы можете принять решение, как страница отображается, то есть на стороне сервера:

В ваш код-за:

protected void Page_Load() 
{ 
    if (variableToSwitchOn == true) 
    { 
    button1.Visible = true; 
    button2.Visible = false; 
    } 
    else 
    { 
    button1.Visible = false; 
    button2.Visible = true; 
    } 
} 

В вашей странице .aspx:

<div> 
    <asp:button runat="server" ID="button1" Text="Button 1" /> 
    <asp:button runat="server" ID="button2" Text="Button 2" /> 
</div> 

Вариант 2: Если вам нужно принять решение на стороне клиента

В вашей странице .aspx:

<div> 
    <asp:button runat="server" ID="button1" Text="Button 1" /> 
    <asp:button runat="server" ID="button2" Text="Button 2" /> 
</div> 
<script language="javascript" type="text/javascript"> 
    var button1Id = '<%=button1.ClientId%>'; 
    var button2Id = '<%=button2.ClientId%>'; 
</script> 

Теперь вы можете иметь кусок JavaScript, который управляет ли видны кнопки, например:

function ChangeWhichButtonIsVisible() 
{ 
    var button1 = document.getElementById(button1Id); 
    var button2 = document.getElementById(button2Id); 
    if (someCondition == true) 
    { 
     button1.style.display = 'none'; 
     button2.style.display = 'block'; 
    } 
    else 
    { 
     button1.style.display = 'block'; 
     button2.style.display = 'none'; 
    } 
} 
0

Несомненно. Поместите их каждый в DIV и спрячьте/покажите эти DIVs соответственно. Для того, чтобы немного расширить:

<div id="button1" style="display:none">Button 1 goes here</div> 
<div id="button2" style="display:block">Button 2 goes here</div> 

И тогда вы можете переключать дисплей с немного Javascript:

function showHide() { 
    if (document.getElementById("button1").style.display == "none")) { 
    document.getElementById("button1").style.display = "block"; 
    document.getElementById("button2").style.display = "none"; 
    } else { 
    document.getElementById("button1").style.display = "none"; 
    document.getElementById("button2").style.display = "block"; 
    } 
} 
+0

Зачем загрязнять страницу дополнительными div? – Rob

1

Почему бы не использовать одну кнопку и изменить текст и действия, основанные на указанном состоянии?

0

Вместо использования двух кнопок изменить свойства кнопки, основанные на условии в коде позади или сделать то же самое в стороне клиента с CSS/Java Scripting.

Смежные вопросы