SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Wie/Wo füge ich serverseitiges Code ein

Unbeantwortet Dieser Beitrag hat 7 Antworten

Ohne Rang
349 Beiträge
Manfred K. erstellt 6 Juni 2012 10:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

wie und vor allem wo füge ich serverseitiges Code ein?

Ich bin so vorgegangen:

1) In die web.config folgendes eingetragen:

<PageParserPaths>
<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" />
</PageParserPaths>

2) Neue .aspx-Seite erstellt und eingefügt.

<%@ Page language="C#" MasterPageFile="~masterurl/default.master"    Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document" meta:webpartpageexpansion="full" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<script runat="server" type="text/c#">

 protected override void OnLoad(EventArgs e)
 {
  base.OnLoad(e);
  Label1.Text = "Hello World!";
 }
</script>

Kommt Fehlermeldung:

Fehler

Fehler beim Verarbeiten von /SitePages/test.aspx. Codeblöcke sind in dieser Datei nicht zulässig.

Führen Sie die Problembehandlung mit Microsoft SharePoint Foundation aus.

Korrelations-ID: 6e2bfcf8-aa0e-4dfc-af34-e9fbe0ffd012

Datum und Uhrzeit: ....

 

Habe ich was vergessen bzw. was war falsch?

Danke!

Alle Antworten

Ohne Rang
508 Beiträge
Tom Scheuermann Als Antwort am 6 Juni 2012 10:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi !

Reden wir vom MOSS 2007 oder von SP 2010 ?

Für SP 2010 emfpehle ich Visual Studio 2010:

- Menü "Datei -> Neu - Projekt"
- Leeres SharePoint Projekt wählen
- Menü "Projekt - Neues Element hinzufügen"
- "Anwendungsseite" auswählen

VS erstellt dann eine Solution sowie eine ASPX-Page.

Siehe auch http://msdn.microsoft.com/en-us/library/ee231557(VS.100).aspx.

In SP 2010 würde dringend dazu raten, keine web.configs per hand anzupassen oder irgendwelche files händisch zu kopieren.
Das geht inzwischen alles sauber im Rahmen von Solutions.

Greets

Tom

ts (-at-) computer-kreativ.de

Microsoft Certified IT Professional: SharePoint 2010 Administration
Microsoft Certified Technoligie Specialist: SharePoint 2010 Configuring

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 10:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Was ist aber, wenn ich z.B. auf meiner bestehenden Seite/Liste ein selbserstelltes z.B. radio-Button hinzufügen und den code serverseitig abrufen möchte?

Eigentlich brauche ich keine Anwendungsseite, nur noch erweiterung!!!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Juni 2012 10:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vergiß das - SharePoint läßt keinen serverseitigen Code direkt in einer Seite zu. Wo kämen wir da auch hin? Es gibt viel zu viele Benutzer, die potentiell das Recht haben, Seiten zu editieren und wenn die alle nach Belieben serverseitigen Code einfügen könnten...

Wenn man das braucht, entwickelt man ein eigenes WebControl oder ein WebPart.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 11:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

was ist wenn ich sowas umsetzen möchte z.B.

http://bernado-nguyen-hoan.com/2012/04/23/how-to-close-sharepoint-modal-wait-screen-after-postback-when-page-is-in-dialog-mode/

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Juni 2012 12:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist doch eine rein clientseitige Angelegenheit mit JavaScript und hat damit nichts mit serverseitigem Code zu tun. Oder sehe ich da was falsch?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 8 Juni 2012 07:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie ist das aber mit dem letzten block:

In the server-side code of the button, emit JavaScript to retrieve the waitDialog variable and call the close() method as below:

protected void btnDoWork_Click(object sender, EventArgs e)
//Simulate a time consuming operation
System.Threading.Thread.Sleep(3000);
//Emit the script that will close the wait screen. We only need to do this when
//the app page is in dialog mode, in which case window.frameElement will NOT be null
this.ClientScript.RegisterStartupScript(this.GetType(), "CloseWaitDialog", @"
var parentObject = window.frameElement;
if (parentObject != null) {
var waitDialog = parentObject.waitDialog;
if (waitDialog != null) {
waitDialog.close();
}
}
</script>");
}
Wo soll/kann ich den code einfügen?
Danke!
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Juni 2012 15:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast Du denn eine eigene Seite, die eine länger dauernde Aktion ausführt? Dann hast Du ja auch die richtige Stelle, um den Code einzufügen. Falls es keine eigene Seite ist, kannst Du das Script ja auch gleich direkt benutzen, also ohne es per serverseitigem Code auszugeben.

Viele Grüße
Andi
af @ evocom de
Blog