[ sivan347 @ 12.03.2007. 09:59 ] @
Pozdrav,
imam jedan kod web sajta radjen u ASP.NET-u 1.1(VS2003). Projekat sadrzi klasu koja preko StreamReader-a ucitava .ascx kontrolu, menja sa metodom Replace() neke stringove i ponovo pomocu template kontrole (nova UserControla) parsira dobijeni string u kontrolu. To sve lepo radi u VS2003. Moj problem je sto to treba da konvertujem u ASP.NET 2.0 alat VS2005. Kad sam konvertovao i pokrenuo projekat dobijam sledecu gresku:

[ArgumentNullException: Value cannot be null.
Parameter name: child]
System.Web.UI.ControlCollection.Add(Control child) +2060539
tbwsport.ucCenter.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\TBWsport NewEngine\ucCenter.ascx.vb:144
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

Kod je:

System.Web.UI.UserControl ucCtrl = null;
System.Web.UI.Control ctrl = null;

StreamReader sr;
string res;

sr = new StreamReader(System.Reflection.Assembly.
GetExecutingAssembly().GetManifestResourceStream("TBWrefresh.ResultTable.ascx")); //user kontrola koja se parsira

res = sr.ReadToEnd();
sr.Close();

res = res.Replace("!SportName!", strSport);
res = res.Replace("!lang!", strLangID);
ucCtrl = new System.Web.UI.UserControl();

try
{
ctrl = ucCtrl.ParseControl(res);

}
catch(Exception e)
{
Debug.WriteLine(e.Message);
}
return ctrl; //ucCtrl.ParseControl(res);
}

Pri debagovanju sam ustanovio da gresku izbacuje na ctrl = ucCtrl.ParseControl(res);
Da li neko zna zasto izbacuje tu gresku ili kako da izbegnem ovo parsiranje?
[ sivan347 @ 12.03.2007. 11:10 ] @
Nasao sam resenje u sledecem kodu:

ucCtrl.AppRelativeVirtualPath = "~/";

Pozdrav