Ich habe ein visuelles Webpart (erstellt mit Standard Visual Studio 2012 Vorlage von "Add new item" Formular) mit nur einem einzigen <div id="newsListDiv" runat="server"></div>
Element. Ich möchte programmatisch mein eigenes Benutzersteuer es fügen Sie den folgenden Code:Hinzufügen Benutzer Steuerelement zu Webpart 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);
}
Aber wenn ich die Lösung implementieren und den Webpart der Seite zeigt es eine Fehlerseite hinzufügen, mir zu sagen, dass die Datei ‚/ _ControlTemplates/MainTheme/NewsLine.ascx 'existiert nicht. Aber wenn ich in den Ordner "C: \ Programme \ Gemeinsame Dateien \ microsoft shared \ Webservererweiterungen \ 15 \ TEMPLATE \ CONTROLTEMPLATES \ MainTheme" schaue, kann ich sehen, dass die Datei dort vorhanden ist. Ich habe versucht, die Vertrauensstufe auf "Full" zu setzen, habe aber den gleichen Fehler. Ich habe auch versucht, wie diese dem Benutzer die Kontrolle in ASCX-Datei hinzufügen:
<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %>
<div id="newsListDiv" runat="server">
<uc1:NewsLine runat="server" id="NewsLine" />
</div>
Und dass ein Weg, um einen Übersetzungsfehler erhalten: „Der Name‚InitializeControl‘existiert nicht im aktuellen Kontext“. Ich habe auch bemerkt, dass die .g.cs-Datei leer wird, sobald ich die Register- oder Referenzzeile (mit dem Pfad zu meinem Benutzersteuerelement) zu meiner .ascx-Datei hinzufüge. Und es füllt sich wieder, wenn ich diese Zeile entferne. Ich habe viele verschiedene Pfadbeschreibungen wie "../_controltemplates/", "/ controlltemplates/15 /" usw. ausprobiert. Aber keiner von ihnen hat einen Unterschied gemacht. Ich bin verzweifelt hier, bitte hilf!
Versucht, dass man auch immer noch kein Glück. Es scheint mir, dass es ein Problem mit dem Tool gibt, das automatisch die .g.cs Datei erzeugt. Versucht, VS neu zu installieren, aber das hat auch nicht geholfen. Ich entschied mich, UserControls für jetzt nicht zu verwenden, aber ich habe eine Idee, dass es möglicherweise nicht funktioniert, weil ich ControlTemplates-Ordner in dem VS nicht als einen zugeordneten Ordner erstellte. Ich werde später nachsehen ... – 4tuneTeller
Das gleiche Problem hier, aber die Lösung hat funktioniert! Thnx eine Tonne. – ChiYoung
Es funktionierte auch für mich .. Vielen Dank :)! – Muhammedh