2个按钮位于相同位置。在不同时间显示!

时间:2010-08-11 17:32:34

标签: c# asp.net html

是否可以在aspx页面中将两个按钮放在相同位置。根据某些条件,它必须显示其中一个。

<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" />

4 个答案:

答案 0 :(得分:3)

选项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';   
    }
}

答案 1 :(得分:1)

为什么不使用一个按钮并根据上述条件更改文本和操作?

答案 2 :(得分:0)

不确定。将它们分别放入DIV中,并酌情隐藏/显示这些DIV。扩大一点:

<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";
  }
}

答案 3 :(得分:0)

不使用两个按钮,而是根据后面代码中的条件更改按钮的属性,或者使用CSS / Java Scripting在客户端执行相同操作。