>>>但是编译时总是报错are you trying to access the control in  code behind? you need to declare a member variable for your control in your codebehind class

解决方案 »

  1.   

    在后台声明你的用户控件!  protected 你的用户控件的类名  你的用户控件在aspx页面的ID
    ===弯弯的月亮小小的船,小小的船,两头尖,我在小小的船里坐,只看见闪闪
    的星星蓝蓝的天.===本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利 
      

  2.   

    下面是我的源代码,帮我看看好伐,谢谢!UserControl.ascx文件<%@ Control Language="c#" AutoEventWireup="false" Codebehind="UserControl.ascx.cs" Inherits="UserControls.UserControl" TargetSchema="http://schemas.microsoft.com/Mobile/WebUserControl" %>
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
    <%@ Import Namespace="System.IO"%>
    <script runat="server">
    private string _directoryName;
    public string DirectoryName
    {
    get{return _directoryName;}
    set{_directoryName=value;}
    }
    protected void Page_Load(object sender, System.EventArgs e)
    {
    if((DirectoryName!=null)&&(DirectoryName!=string.Empty))
    {

    directoryLabel.Text=DirectoryName;
    DirectoryInfo dir=new DirectoryInfo(DirectoryName);
    foreach(FileSystemInfo fsi in dir.GetFileSystemInfos())
    {
    MobileListItem item=new MobileListItem(fsi.Name);
    fileList.Items.Add(item);
    }
    }
    }
    </script><mobile:Label id="directoryLabel" runat="server" FontBold="True"></mobile:Label>
    <mobile:List id="fileList" runat="server"></mobile:List>UserControl.aspx文件
    <%@ Register TagPrefix="Sample" TagName="Directory" Src="UserControl.ascx"%>
    <%@ Page language="c#" Codebehind="MobileWebForm1.aspx.cs" Inherits="UserControl.MobileWebForm1" AutoEventWireup="false" %>
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %><script runat="server">
    public class MobileWebForm1 : System.Web.UI.MobileControls.MobilePage
    {
    protected System.Web.UI.MobileControls.Form Form1; public void Page_Load(object sender, System.EventArgs e)
    {
    m.DirectoryName="c\\Inetpub\\wwwroot";
    }
    </script><mobile:Form id="Form1" runat="server" Paginate="True">
    <Sample:Directory id="m" runat="server" />
    </mobile:Form>
      

  3.   

    why do you have a MobileWebForm1 class inside your page?<%@ Register TagPrefix="Sample" TagName="Directory" Src="UserControl.ascx"%>
    <%@ Page language="c#" Codebehind="MobileWebForm1.aspx.cs" Inherits="UserControl.MobileWebForm1" AutoEventWireup="false" %>
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %><script runat="server">
    public void Page_Load(object sender, System.EventArgs e)
    {
    m.DirectoryName="c\\Inetpub\\wwwroot";
    }
    </script><mobile:Form id="Form1" runat="server" Paginate="True">
    <Sample:Directory id="m" runat="server" />
    </mobile:Form>