隐藏代码中的aspx按钮

时间:2015-03-12 14:59:25

标签: asp.net

如果另一个元素具有特定值,我试图在页面加载时隐藏一个aspx按钮。

按钮:

<input type="button" class="formButton" id="btnShowTerminate" value="Terminate Credential" onclick="ToggleTerminationRow()">

我的问题是,我不知道如何在后面的代码中编辑按钮属性(使其隐藏)。

3 个答案:

答案 0 :(得分:0)

在后面的代码中(在页面加载事件上):

Page.btnShowTerminate.Visible = false;

答案 1 :(得分:0)

HTML控件需要具有runat="server"属性才能在服务器端代码中使用。

要隐藏代码后面的按钮,请使用If语句来测试您的其他元素是否为&#39;具有所需的价值。

<强> C#

If(exampleElement.Value == "example value")
{
     Page.btnShowTerminate.Visible = false;   
}

<强> VB

If exampleElement.Value == "example value"

     Page.btnShowTerminate.Visible = false;   
End If

此错误 -

  

&#39; System.Web.UI.Page&#39;不包含的定义   &#39; btnShowTerminate&#39;没有扩展方法&#39; btnShowTerminate&#39;   接受类型&#39; System.Web.UI.Page&#39;的第一个参数。可以找到   (您是否缺少using指令或程序集引用?

是因为您的输入中没有runat="server"

exampleElement.Value可能必须不同,具体取决于exampleElement的元素类型。例如,Value将与TextBox一起使用,但您需要InnerHtml使用div

答案 2 :(得分:0)

尽管通过将Visible属性设置为false可以将按钮(用于该事件的任何控件)隐藏在代码后面,但有细微而危险的细微差别。这样做不仅导致按钮被隐藏,而且结果HTML按钮将不会在页面上呈现。如果您具有引用该按钮的JavaScript,则JavaScript将失败,因为该按钮在呈现的页面上不存在。在调试中,该错误将被捕获,但是如果在将代码部署到服务器之前从不执行JavaScript,它将在此处失败,但不会引发异常。该代码只是行不通,并且没有任何指示!

隐藏按钮的安全方法是如下设置样式:

 btnName.Style.Add("display", "none");

这样,按钮将被呈现但被隐藏,JavaScript可以找到它。