【问题标题】:unable to access a control in Master file from the code behind无法从后面的代码访问主文件中的控件
【发布时间】:2016-03-12 18:12:47
【问题描述】:

基本上我的导航栏中有一个按钮,该按钮在主文件中定义。而且我想在单击该按钮**(bt)**时调用一个c#方法。 但我无法访问代码隐藏中的控件。我还需要控制可见性,因此我认为它必须保留在其中一个视图中。

<asp:GridView   runat="server" ID="lw3">
                   <EmptyDataTemplate>
                        <ul class="nav navbar-nav navbar-right" style="color:#ffffff !important">
                             <li><a runat="server" href=""></a></li>
                              <li><a runat="server" href="" title=""></a></li>
                               <li><a runat="server" id="btout">bt</a></li>

                            </ul>
                   </EmptyDataTemplate>
                </asp:GridView>

【问题讨论】:

  • 我没有看到任何属于 Web 表单控件的按钮。因此,虽然您可以操纵您的&lt;a .../&gt;,因为它们是runat="server",但您将无法在单击它时轻松运行服务器方法 - 请参阅stackoverflow.com/questions/2476982/…。你最好只使用成熟的 asp 控件——它会简单得多。

标签: c# asp.net controls master-pages


【解决方案1】:

&lt;a&gt;链接放在Gridview之外,以便在后面的代码中直接访问。

如果您仍想放入网格内,则可以通过 lw3.FindControl 访问这些 &lt;a&gt; 链接。

获得这些控件的访问权限后,您还可以通过执行以下操作来控制可见性: btout.Visible = true;btout.Visible = false;

我希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2017-02-27
    相关资源
    最近更新 更多