Mam wizualną część internetową (utworzoną za pomocą standardowego szablonu Visual Stuido 2012 z formularza "Dodaj nowy element") za pomocą pojedynczego elementu <div id="newsListDiv" runat="server"></div>
. Chcę programowo dodać własną kontrolę użytkownika do niego za pomocą następującego kodu:Dodaj kontrolę użytkownika do części strony w Sharepoint 2013
protected void Page_Load(object sender, EventArgs e)
{
NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/MainTheme/NewsLine.ascx") as NewsLine;
newsListDiv.Controls.Add(newsLine);
}
Ale kiedy wdrożyć rozwiązanie i dodać część sieci web do strony pokazuje stronę błędu, mówiąc mi, że plik „/ _ControlTemplates/MainTheme/NewsLine.ascx "nie istnieje. Ale jeśli zajrzę do folderu "C: \ Program Files \ Common Files \ microsoft shared \ Web Server Extensions \ 15 \ TEMPLATE \ CONTROLTEMPLATES \ MainTheme", widzę, że plik tam jest. Próbowałem ustawić poziom zaufania na "Pełny", ale otrzymałem ten sam błąd. Próbowałem też dodanie kontrolę użytkownika w .ascx pliku tak:
<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %>
<div id="newsListDiv" runat="server">
<uc1:NewsLine runat="server" id="NewsLine" />
</div>
I że sposób, w jaki pojawia się błąd kompilacji: „Nazwa«InitializeControl»nie istnieje w bieżącym kontekście”. Zauważyłem również, że jak tylko dodam Register lub Reference line (ze ścieżką do mojej kontroli użytkownika) do mojego pliku .ascx, plik .g.cs stanie się pusty! I znów wypełnia się, kiedy usuwam tę linię. Próbowałem wielu różnych ścieżek pisania, takich jak "../_controltemplates/", "/ controltemplates/15 /", itp. Ale żaden z nich nie zrobił żadnej różnicy. Jestem tutaj zdesperowany, proszę, pomóż!
Wypróbowałem to też, wciąż nie ma szczęścia. Wydaje mi się, że jest jakiś problem z narzędziem, które automatycznie generuje plik .g.cs. Próbowałem ponownie zainstalować VS, ale to też nie pomogło. Postanowiłem nie używać teraz UserControls, ale mam pomysł, że może nie działać, ponieważ utworzyłem folder ControlTemplates w VS nie jako zmapowany folder. Sprawdzę to później ... – 4tuneTeller
Ten sam problem tutaj, ale rozwiązanie zadziałało! Thnx tonę. – ChiYoung
To zadziałało również dla mnie .. Wielkie dzięki :)! – Muhammedh