Je tente de charger usercontrol dans C#.Impossible de convertir le type 'System.Web.UI.Control' en 'System.Web.UI.UserControl
pouvez ajouter le .ascx sur ma page .aspx en utilisant le code ci-dessous:
Control MyUserControl;
MyUserControl = LoadControl("~/controls/Editor.ascx");
PlaceHolder1.Controls.Add(MyUserControl);
Cependant, je veux passer ID dans Editor.ascx, haut de la Editor.ascx contient les éléments suivants Code:
private int m_id = 0;
public int ID
{
get { return m_id; }
set { m_id = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack && !Page.IsCallback)
{
using (DataClassesDataContext db = new DataClassesDataContext())
{
TB_Editor.Text = db.DT_Control_Editors.Single(x => x.PageControlID == ID).Text.Trim();
}
}
}
J'ai essayé de coulée contrôle pour le contrôle de l'utilisateur que je peux avoir accès à ID voir ci-dessous
UserControl Edit = (UserControl)MyUserControl;
Mais je reçois une erreur de distribution.
des idées?
je suis confus, pourquoi n'êtes-vous pas tout comme déclarez usercontrol? – Andrey
Le code que vous affichez et le message d'erreur que vous affichez ne correspondent pas. Vous n'effectuez aucune conversion implicite vers UserControl. Vous effectuez une conversion explicite, et si cela échouait, cela se produirait au moment de l'exécution et ne pourrait pas donner une erreur de compilation. – Guffa