2012-01-16 34 views
1

使用VS 2010,C#,asp.net如何在我的母版页访问AJAX定时器控制

我有我的母版页定时器控制,我想从我的母版页的.cs访问文件

但它没有工作,甚至当我用这个代码

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

它看起来像VS不知道什么是tiemr控制?!

请指点,

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

,并没有在我运行web

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

这里是我的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> 
+0

可问题是我的类代码从 “System.Web.UI.MasterPage” 继承? – 2012-01-16 16:38:55

回答

0

如果您在主页面文件中添加了定时器控件,则可以访问定时器控件直接在主文件代码后面的文件中。

请参考下面的代码:

<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的代码。

嗨,

请尝试此代码并检查。 (定时器)this.FindControl(“timer1”))。Enabled = false;

+0

这是我第一次尝试,并且VS表示'Timer1'在当前上下文中不存在,是的,我添加了ScriptManager – 2012-01-16 11:32:54

+0

请分享你的代码?或分享确切的例外.... – 2012-01-16 11:39:49

+0

计时器不包含“启用”属性。相反,它包含“已启用”。请尝试启用属性 – 2012-01-16 11:42:18

1

试试这个,

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

相关问题