string ProjectID = Request["ProjectID"].ToString().Trim();
string SortID = ProjectInfo.SortID.ToString();
        Control uc;        switch (SortID.ToLower())
        {
            case "1":
                m_acname = "project_edit";
                break;
            case "2":
                m_acname = "pr_edit";
                break;
            case "3":
                m_acname = "needmoney";
                break;
            case "4":
                m_acname = "userdata_edit";
                break;        }        uc = this.LoadControl("Edit/" + m_acname + ".ascx");
        uc.ID ="acname";
        Main_Panle_Content.Controls.Add(uc);我想把ProjectID 的值传到.ascx里面 那位大哥,帮我看看了

解决方案 »

  1.   

            uc = this.LoadControl("Edit/" + m_acname + ".ascx?ProjectId="+ProjectId);
            uc.ID ="acname";
            Main_Panle_Content.Controls.Add(uc); 
      

  2.   

    ascx加一个公共属性即可
    http://www.svnhost.cn
      

  3.   

    ascx加一个公共属性即可 
    ==
    面向对象的思路
      

  4.   

    .ascx代码:private string m_ProjectID;
    public string ProjectID 
    {
       set{m_ProjectID=value;}
       get{value=m_ProjectID;}
    }.aspx代码:string ProjectID = Request["ProjectID"].ToString().Trim(); 
    string SortID = ProjectInfo.SortID.ToString(); 
            Control uc;         switch (SortID.ToLower()) 
            { 
                case "1": 
                    m_acname = "project_edit"; 
                    break; 
                case "2": 
                    m_acname = "pr_edit"; 
                    break; 
                case "3": 
                    m_acname = "needmoney"; 
                    break; 
                case "4": 
                    m_acname = "userdata_edit"; 
                    break;         }         uc = this.LoadControl("Edit/" + m_acname + ".ascx"); 
            uc.ID ="acname"; 
            Main_Panle_Content.Controls.Add(uc); 
            uc.ProjectID = ProjectID;
      

  5.   

    using System;
    using System.Web;
    using System.Web.UI;namespace News
    {
    public enum Pages 
    {
    classlist,
    classadd,
    newsmain,
    newsadd,
    newslist,
    adminlist,
    Adminadd
    } public class classadmin : System.Web.UI.UserControl
    {
    public classadmin()
    {
    this.Load += new EventHandler(Forum_Load);
    }
    private void Forum_Load(object sender,EventArgs e) 
    {
    Pages page;
    string m_baseDir="./";
    try
    {
    page = (Pages)System.Enum.Parse(typeof(Pages),Request.QueryString["g"],true);
    }
    catch(Exception) 
    {
    page = Pages.classlist;
    }
    string src = string.Format("{0}Controls/{1}.ascx",m_baseDir,page); try
    {
    Control ctl = (Control)LoadControl(src);
    this.Controls.Add(ctl);
    //this.Page.FindControl("adminclass").Controls.Add(ctl);
    }
    catch(System.IO.FileNotFoundException)
    {
    throw new ApplicationException("加载 " + src + " 失败!");
    }
    }
    }
    }<News:classadmin runat="server" id="adminclass" />
      

  6.   

    在访问的时候,
    classmanage.aspx?g=classlist&classid=1
      

  7.   

    加公共属性是可以  如果页面上本来就有那个参数 ,可以直接取Request["ProjectID"],用户控件可以取页面上的参数
      

  8.   

    没啥说得,public 属性,设置为set可以了