UPDATE: Я полностью переформулировать вопрос, что это лучший способ использования класса динамически
Я пытаюсь реализовать алгоритм, который изменит имя класса динамически. Например:
Data.cs
public class Data
{
public string text1 { get; set; }
public string text2 { get; set; }
}
User1.ascx
public partial class User1 : System.Web.UI.UserControl
{
public Data datas = new Data();
}
User2.ascx
public partial class User2 : System.Web.UI.UserControl
{
public Data datas = new Data();
}
User.aspx
public partial class User: System.Web.UI.Page
{
[WebMethod]
public static string RequestUC(Data datas)
{
if (datas.userfile = "User1.ascx")
{
User1 userControl = (User1)page.LoadControl(datas.userfile);
}
else
{
User2 userControl = (User2)page.LoadControl(datas.userfile);
}
using (Page page = new Page())
{
userControl.datas = datas; // the error says that the userControl not recognized
page.Controls.Add(userControl);
using (StringWriter writer = new StringWriter())
{
page.Controls.Add(userControl);
HttpContext.Current.Server.Execute(page, writer, false);
return writer.ToString();
}
}
}
}
Проблема в том, что я не могу получить работу User.aspx. Любые решения будут работать.
Как я могу использовать дженерики в этом случае?
thank YOU
Что вы подразумеваете под "загрузить более одного ascx динамически"? Вы спрашиваете, как у вас может быть общий метод загрузки пользовательских элементов управления, который тем не менее позволяет вам получить доступ к свойствам, специфичным для этого пользовательского элемента управления? –
Извините, я имел в виду один ascx, но динамически – INgeek
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –