Ho una parte Web visiva (creata con il modello Visual Stuido 2012 standart dal modulo "Aggiungi nuovo elemento") con un solo elemento <div id="newsListDiv" runat="server"></div>
. Voglio aggiungere a livello di codice il mio controllo utente ad esso utilizzando il seguente codice:Aggiungere il controllo utente alla web part in Sharepoint 2013
protected void Page_Load(object sender, EventArgs e)
{
NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/MainTheme/NewsLine.ascx") as NewsLine;
newsListDiv.Controls.Add(newsLine);
}
Ma quando schiero la soluzione e aggiungere la web part alla pagina si vede una pagina di errore, che mi dice che il file '/ _ControlTemplates/MainTheme/NewsLine.ascx 'non esiste. Ma se guardo nella cartella "C: \ Programmi \ File comuni \ microsoft condivisi \ Estensioni del server Web \ 15 \ TEMPLATE \ CONTROLTEMPLATES \ MainTheme" posso vedere che il file è presente lì. Ho provato a impostare il livello di attendibilità su "Completo" ma ho ottenuto lo stesso errore. Ho anche provato ad aggiungere il controllo utente nel file di ascx come questo:
<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %>
<div id="newsListDiv" runat="server">
<uc1:NewsLine runat="server" id="NewsLine" />
</div>
E in questo modo un ottenere un errore di compilazione: "Il nome 'InitializeControl' non esiste nel contesto attuale". Ho anche notato che non appena aggiungo la riga Register o Reference (con il percorso al mio controllo utente) al mio file .ascx, il file .g.cs diventa vuoto! E si riempie di nuovo quando rimuovo quella linea. Ho provato molti scritti di percorso diversi come "../_controltemplates/", "/ controltemplates/15 /", ecc. Ma nessuno di loro ha fatto alcuna differenza. Mi sto disperando qui, per favore aiuto!
Provato anche quello, ancora senza fortuna. Mi sembra che ci sia qualche problema con lo strumento che genera automaticamente file .g.cs. Ho provato a reinstallare VS, ma non è stato d'aiuto neanche. Ho deciso di non utilizzare UserControls per ora, ma ho avuto l'idea che potrebbe non funzionare perché ho creato la cartella ControlTemplates nel VS non come cartella mappata. Verificherò più tardi ... – 4tuneTeller
Lo stesso problema qui, ma la soluzione ha funzionato! Thnx a tonnellata. – ChiYoung
Ha funzionato anche per me .. Grazie mille :)! – Muhammedh