Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在.NET 3.5中运行时更改ASP.NET控件的Visible属性_C#_Javascript_Asp.net_Html_Visual Studio 2008 - Fatal编程技术网

C# 如何在.NET 3.5中运行时更改ASP.NET控件的Visible属性

C# 如何在.NET 3.5中运行时更改ASP.NET控件的Visible属性,c#,javascript,asp.net,html,visual-studio-2008,C#,Javascript,Asp.net,Html,Visual Studio 2008,Default.aspx页面有一些控件。某些控件的可见性取决于条件。在这里,通常要完成的是根据条件值在运行时更改visible属性 Sampel标记(静态模式下的Default.aspx) 示例标记(动态模式下的Default.aspx) 但是,下面是一个错误: 无法从“Visible”属性的字符串表示法“”创建类型为“System.Boolean”的对象 完成此任务的任何解决方案或变通方法。 需要帮助。我不确定visible能做什么。 如果您根本不想渲染div,可以使用以下格式包装: 最快

Default.aspx页面有一些控件。某些控件的可见性取决于条件。在这里,通常要完成的是根据条件值在运行时更改visible属性

Sampel标记(静态模式下的Default.aspx)

示例标记(动态模式下的Default.aspx)


但是,下面是一个错误: 无法从“Visible”属性的字符串表示法“”创建类型为“System.Boolean”的对象

完成此任务的任何解决方案或变通方法。
需要帮助。

我不确定visible能做什么。 如果您根本不想渲染div,可以使用以下格式包装:


最快的方法是让ShowHideButton返回布尔值而不是字符串;然后:

 <%
  DivBtnImgCopy.Visible = ShowHideButton();
 %>

<div id="DivBtnImgCopy" runat="server" >
   <asp:ImageButton ID="BtnCopy" ToolTip="Copy Mode" ImageUrl="img/tlb_img_copy.gif"
                            runat="server" />
</div>


最干净的方法是包括
DivBtnImgCopy.Visible=ShowHideButton()在页面的prerender事件处理程序中

通过使用这种方法,我得到以下错误:“ID‘DivBtnImgCopy’已被另一个控件使用。”我检查了所有代码,该ID在其他任何地方都没有使用。那么,如何克服这一点呢?与上述相同的错误?注意:你注意到我删除了div标签上的“Visible”属性了吗?是的,我注意到了,并在div标签中没有Visible属性的情况下尝试了它,但上面的错误再次出现。这难道不是由于在页面的其他地方再次调用ShowHideButton()造成的吗?当你删除该标签时,错误是否消失了?我不明白它为什么会从这里来。通过这样做得到了这个错误:ID“DivBtnImgCopy”已经被另一个控件使用。嗯,奇怪。在这种情况下,您可能不需要id和runat服务器。。你…吗?
protected bool ShowHideButton()
    {
        bool bStatus = false;
        try
        {
            if (sCondition == "false")
            {
                bStatus = false;
            }
            else if (sCondition == "true")
            {
                bStatus = true;
            }
            return bStatus;
        }
        catch { }
    }
<div id="DivBtnImgCopy" runat="server" visible = "<% =ShowHideButton() %>">
   <asp:ImageButton ID="BtnCopy" ToolTip="Copy Mode" ImageUrl="img/tlb_img_copy.gif"
                                runat="server" />
</div>
<% if(ShowHideButton()) { %>
<div id="DivBtnImgCopy" runat="server">
   <asp:ImageButton ID="BtnCopy" ToolTip="Copy Mode" ImageUrl="img/tlb_img_copy.gif"
                            runat="server" />
</div>
<% } %>
 <%
  DivBtnImgCopy.Visible = ShowHideButton();
 %>

<div id="DivBtnImgCopy" runat="server" >
   <asp:ImageButton ID="BtnCopy" ToolTip="Copy Mode" ImageUrl="img/tlb_img_copy.gif"
                            runat="server" />
</div>