ascx可不可以从别的项目COPY呀?如果行的话,要注意些什么东东?如题,先谢先.

解决方案 »

  1.   

    可以,不过要注意名字空间;还要注意ascx里面不能有<html>、<head>、<title>、<body>之类的标记。
      

  2.   

    这是我试的结果:分析器错误信息: 未能加载类型“NWebProject.WebControls.CN.SupplyDemand.LatestProduct”。源错误: 
    行 1:  <%@ Control Language="c#" AutoEventWireup="false" Codebehind="LatestProduct.ascx.cs" Inherits="NWebProject.WebControls.CN.SupplyDemand.LatestProduct" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
    行 2:  <asp:datalist id="DataList1" runat="server" RepeatDirection="Horizontal" Width="100%" RepeatColumns="5">
    行 3:   <ItemStyle HorizontalAlign="Center"></ItemStyle>
     
    不知乍么解决,请各位大侠帮帮忙,多谢先!
      

  3.   

    可以,要注意和其他项目相关一些属性去掉!比如命名空间,还有html页面的一写东东
      

  4.   

    namespace WebProject.WebControls.CN.SupplyDemand
    我想这个没错吧。<%@ Control Language="c#" AutoEventWireup="false" Codebehind="LatestProduct.ascx.cs" Inherits="WebProject.WebControls.CN.SupplyDemand.LatestProduct" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
    这个是我的命名空间。
      

  5.   


    要在HTML页面加像<%@ Register TagPrefix="uc1" TagName="Header" Src="Header.ascx" %>只类的东西
      

  6.   

    lastestproduct.ascx.cs的代码是这样的.
    namespace WebProject.WebControls.CN.SupplyDemand
    {
    using System;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls; using WebProject.Components;
    using Common;
    using Common.SupplyDemand;
    using BusinessRules.SupplyDemand; /// <summary>
    /// LatestProduct 的摘要说明。
    /// </summary>
    public class LatestProduct : System.Web.UI.UserControl
    {
    protected System.Web.UI.WebControls.DataList DataList1; private void Page_Load(object sender, System.EventArgs e)
    {
    if(!this.IsPostBack)
    {
    this.BindRcmndCompany();
    }
    } /// <summary>
    /// 
    /// </summary>
    private void BindRcmndCompany()
    {
    SupplyDemandClass sd = new SupplyDemandClass(); int iRowCount;
    DataSet ds = sd.BusinessProductsSearch(1, this.ProductNumber, "", out iRowCount); if(iRowCount>0)
    {
    this.DataList1.RepeatColumns = this.RepeatColumns; this.DataList1.DataSource = ds.Tables[0].DefaultView;
    this.DataList1.DataBind();
    } ds.Dispose();
    }
    /// <summary>
    /// 
    /// </summary>
    public int ProductNumber
    {
    get
    {
    if(ViewState["ProductNumber"]!=null)
    return (int)ViewState["ProductNumber"];
    return 10;
    }
    set{ViewState["ProductNumber"]=value;}
    } /// <summary>
    /// 
    /// </summary>
    public string TextCssClass
    {
    get
    {
    if(ViewState["TextCssClass"]!=null)
    return (string)ViewState["TextCssClass"];
    return "";
    }
    set{ViewState["TextCssClass"]=value;}
    } /// <summary>
    /// 
    /// </summary>
    public bool IsRandom
    {
    get
    {
    if(ViewState["IsRandom"]!=null)
    return (bool)ViewState["IsRandom"];
    return true;
    }
    set{ViewState["IsRandom"]=value;}
    }

    /// <summary>
    /// 
    /// </summary>
    public int RepeatColumns
    {
    get
    {
    if(ViewState["RepeatColumns"]!=null)
    return (int)ViewState["RepeatColumns"];
    return 5;
    }
    set{ViewState["RepeatColumns"]=value;}
    } /// <summary>
    /// 
    /// </summary>
    public int ImageWidth
    {
    get
    {
    if(ViewState["ImageWidth"]!=null)
    return (int)ViewState["ImageWidth"];
    return 5;
    }
    set{ViewState["ImageWidth"]=value;}
    } /// <summary>
    /// 
    /// </summary>
    public int ImageHeight
    {
    get
    {
    if(ViewState["ImageHeight"]!=null)
    return (int)ViewState["ImageHeight"];
    return 5;
    }
    set{ViewState["ImageHeight"]=value;}
    } /// <summary>
    /// 
    /// </summary>
    public int MaxLength
    {
    get
    {
    if(ViewState["MaxLength"]!=null)
    return (int)ViewState["MaxLength"];
    return 0;
    }
    set{ViewState["MaxLength"]=value;}
    } /// <summary>
    /// 
    /// </summary>
    /// <param name="sName"></param>
    /// <returns></returns>
    public string GetPdtName(string sName)
    {
    if(this.MaxLength>0 && sName.Length>this.MaxLength)
    return sName.Substring(0,this.MaxLength)+"..";
    return sName;
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器
    /// 修改此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    this.DataList1.SelectedIndexChanged += new System.EventHandler(this.DataList1_SelectedIndexChanged);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void DataList1_SelectedIndexChanged(object sender, System.EventArgs e)
    {

    }
    }
    }
      

  7.   

    <%@ Register TagPrefix="uc1" TagName="LatestProduct" Src="../WebControls/CN/SupplyDemand/LatestProduct.ascx" %>这个是我在首页上index.aspx上顶部加的。
      

  8.   

    LatestProduct.ascx要加入到项目中,然后再重新编译项目。
      

  9.   

    <%@ Control Language="c#" AutoEventWireup="false" Codebehind="LatestProduct.ascx.cs" Inherits="WebProject.WebControls.CN.SupplyDemand.LatestProduct" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
    <asp:datalist id="DataList1" runat="server" RepeatDirection="Vertical" Width="100%" RepeatColumns="5">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <TABLE id="Table6" cellSpacing="1" cellPadding="0" align="center" border="0" bgcolor="Gainsboro">
    <TR>
    <TD bgcolor="White" align="center">
    <a href='/cn/company/productdetail.aspx?bsid=<%# DataBinder.Eval(Container, "DataItem.Pdt_BusiId","{0}") %>&pid=<%# DataBinder.Eval(Container, "DataItem.Pdt_Id","{0}") %>' target=_blank>
    <img src='<%# DataBinder.Eval(Container, "DataItem.Pdt_SImage","{0}") %>' border=0 width='<%# this.ImageWidth %>' height='<%# this.ImageHeight %>' hspace=6 vspace=6>
    </a>
    </TD>
    </TR>
    <TR>
    <TD bgcolor="Gainsboro" align="center" height="20">
    <a href='/cn/company/productdetail.aspx?bsid=<%# DataBinder.Eval(Container, "DataItem.Pdt_BusiId","{0}") %>&pid=<%# DataBinder.Eval(Container, "DataItem.Pdt_Id","{0}") %>' target=_blank class="<%# this.TextCssClass %> ">
    <%# GetPdtName(DataBinder.Eval(Container, "DataItem.Pdt_Name","{0}")) %>
    </a>
    </TD>
    </TR>
    </TABLE>
    </ItemTemplate>
    </asp:datalist>这个就是报错的页面了!分析器错误信息: 未能加载类型“WebProject.WebControls.CN.SupplyDemand.LatestProduct”。源错误: 
    行 1:  <%@ Control Language="c#" AutoEventWireup="false" Codebehind="LatestProduct.ascx.cs" Inherits="WebProject.WebControls.CN.SupplyDemand.LatestProduct" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
    行 2:  <asp:datalist id="DataList1" runat="server" RepeatDirection="Horizontal" Width="100%" RepeatColumns="5">
    行 3:   <ItemStyle HorizontalAlign="Center"></ItemStyle>
     
      

  10.   

    哇哇哇,下班班啦!不搞掂BOSS会打小PP的