【问题标题】:How to access ajax timer control in my master page如何在我的母版页中访问 ajax 计时器控件
【发布时间】:2012-01-16 08:59:06
【问题描述】:

使用 VS 2010、C#、asp.net

我的母版页中有计时器控件,我想从我的母版页 .cs 文件中访问它

但它不起作用,即使我使用了这段代码

((System.Web.UI.Timer)this.FindControl("Timer1")).Enable = false;

看起来VS不知道什么是tiemr control?!!!

请指教,

我的第一次尝试只是, Timer1.Enable=false;

当我运行网络时它不起作用并得到了这个

“编译器错误消息:CS1061:‘System.Web.UI.Timer’不包含‘Enable’的定义,并且没有扩展方法‘Enable’接受‘System.Web.UI.Timer’类型的第一个参数可以找到(您是否缺少 using 指令或程序集引用?)”

这是我的 asp.net 代码

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Ads_master.master.cs" Inherits="Ads_master" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head id="Head1" runat="server">
    <title>Every200</title>
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
    <style type="text/css">
        .style1
        {
            width: 22%;
        }
        .style2
        {
            width: 263px;
        }
        .style3
        {
            width: 49px;
        }
    </style>
</head>
<body>
    <form id="Form1" runat="server">
    <div class="page">
        <div class="header">
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>

            <div class="title">
                <h1 style="font-family: Tahoma">
                    EVERY200.com
                </h1>
               <p style="color: #FFFF66; font-weight: 700; font-family: Tahoma;">   &#160;&#160;   &#160;&#160;  stop hunt cents, start hunt dollars</p>
            </div>
            <div class="loginDisplay">
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" >
                <ContentTemplate>
                    <table class="style1">
                        <tr>
                            <td class="style2">
                                &nbsp;</td>
                            <td class="style2">
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            </td>
                            <td class="style2">
                                <asp:Label ID="Label_counter" runat="server" Font-Bold="True" 
                                    Font-Size="XX-Large" Text="0"></asp:Label>
                                <asp:Label ID="Label_message" runat="server" Font-Bold="True" 
                                    Font-Size="Medium"></asp:Label>
                                <asp:Label ID="AdsCaptchaHolder" runat="server" Visible="False"></asp:Label>
                            </td>
                            <td class="style3" style="text-align: left">
                                &nbsp;</td>
                            <td class="style3" style="text-align: left">
                                &nbsp;
                                <asp:Button ID="Button_verify" runat="server" BackColor="#0033CC" 
                                    BorderStyle="Solid" Height="100%" onclick="Button1_Click" Text="Verify" 
                                    Visible="False" Width="100%" />
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</td>
                            <td class="style3" style="text-align: left">
                                &nbsp;</td>
                            <td>
                                <asp:ImageButton ID="ImageButton1" runat="server" 
                                    ImageUrl="http://images.neobux.com/imagens/banner5.gif" 
                                    PostBackUrl="http://www.neobux.com/?r=amrosama77" />
                            </td>
                        </tr>
                    </table>
                </ContentTemplate>
            </asp:UpdatePanel>
           <asp:Timer ID="Timer1" runat="server" Interval="10000" ontick="Timer1_Tick">
            </asp:Timer>
            </div>
            <div class="clear hideSkiplink">
            </div>
        </div>
        <div class="main">
            <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="footer" align="left">



        </div>
    </form>
</body>
</html>

【问题讨论】:

  • 问题是我的类代码继承自“System.Web.UI.MasterPage”吗?

标签: c# asp.net .net ajax .net-4.0


【解决方案1】:

试试这个,

Timer tm = Master.FindControl("Timer1") as Timer;
tm.Enabled = false;

【讨论】:

    【解决方案2】:

    如果您在 Master Page 文件中添加了计时器控件,您可以直接在 Masterpage 文件后面的代码中访问计时器控件。

    请参考以下代码:

    <asp:ScriptManager runat="server">
        </asp:ScriptManager>
    
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    
        <asp:Timer runat="server" id="Timer1">
        </asp:Timer>
        </asp:ContentPlaceHolder>
    

    代码隐藏文件:(.cs文件)

    Timer1.Enabled = false;
    

    请检查是否添加了 ScriptManager 代码。

    嗨,

    请尝试此代码并检查。

    ((Timer)this.FindControl("timer1")).Enabled = false;

    【讨论】:

    • 这是我的第一次尝试,VS说'Timer1'在当前上下文中不存在,是的,我添加了ScriptManager
    • 计时器不包含“启用”属性。相反,它包含“已启用”。请尝试启用属性
    • 这不是启用或启用,当我写 Timer1.Enabled=false; Timer1 标记为未定义
    • 请试试这个代码,((Timer)this.FindControl("timer1")).Enabled = false;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多