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.




Code behind...Hä? Bitte was? ;-)

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
81 Beiträge
Dirk Weinert erstellt 10 Nov. 2011 11:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Leute,

zur Zeit beschäftige ich mich mit ASP.NET und VB.

Eigentlich komme ich aus der PHP-Ecke, aber nun möchte ich auf einem SharePoint Server eine ASP.NET-Seite inkl. VB-Code laufen lassen. Beim ersten Test kam doch gleich die Meldung, dass Code Blocks not allowed seien. Tja, nach einiger Suche im Internet fand ich eine Lösung, die darauf abzielte, dass man die web.config anpassen müsse (http://www.sharepoint-insight.com/2010/08/09/how-to-solve-code-blocks-are-not-allowed-in-this-file-error/).

Unser Admin findet das allerdings gar nicht gut. ;-)

Also habe ich weiter gesucht und etwas über DLLs und CodeBehind gelesen.

Nun bin ich damit aber echt überfordert. Mein Code, um das zu testen, sieht wie folgt aus:

<%@ Page language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.XML" %>

<script runat="server">
    Sub Lesen(ByVal Src As Object, ByVal Args As EventArgs)
        Dim xmlHolen As XmlTextReader
        xmlHolen = New XmlTextReader("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml")
        xmlHolen.WhitespaceHandling = WhitespaceHandling.None
        For i = 1 To 12
            xmlHolen.Read()
        Next i
        Response.Write("<table border='1'>")
        While Not xmlHolen.EOF
            xmlHolen.Read()
            If Not xmlHolen.IsStartElement() Then
                Exit While
            End If
            Dim currAttribut = xmlHolen.GetAttribute("currency")
            Dim rateAttribut1 = xmlHolen.GetAttribute("rate")
            Response.Write("<tr><td>1€ = </td><td>" & rateAttribut1 & "</td><td>" & currAttribut & "</td></tr>")
            Response.Write(vbCrLf)
        End While
        Response.Write("</table>")
        xmlHolen.Close()
    End Sub
</script>

<html>
<head>
<title></title>
</head>
 <body>
        <form id="Form1" runat="server">
            <asp:Button ID="Button1" Text="auf geht's" OnClick="Lesen" runat="server"/>
        </form>
 </body>
</html>

Das Skript zieht die aktuellen Umrechnungskurse (bezogen auf den EUR) von der EZB.
Wie baut man das nun um, so dass die CodeBehind-Technik genutzt wird und ich das Teil auf einem SharePoint Server via DLLs zum Laufen bekomme? *confused*

 Vielen vielen lieben Dank

DW

 

Alle Antworten

Ohne Rang
81 Beiträge
Dirk Weinert Als Antwort am 10 Nov. 2011 12:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ach...ganz vergessen: Ich nutze das Visual Studio 2010 Professional (30 Tage Testversion)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Nov. 2011 12:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du wirst hier komplett umdenken müssen. Die Mischung von HTML und Programmcode, wie Du sie aus PHP kennst, wird in ASP.NET nicht verwendet. Es gibt hier eine saubere Trenneung zwischen HTML und serverseitigem Code. Kein SharePoint-Admin wird Dir zulassen, daß Du Code direkt in eine Seite schreibst.

In SharePoint verwendet man für solche Dinge Webparts oder eigene Controls, die man dann an der gewünschten Stelle in die Seite setzt. In Visual Studio machst Du ein neues SharePoint-Projekt auf und wählst dann als Vorlage Visual Webpart. Es wird Dir alles notwendige erzeugt inkl. zwei Dateien für das Webpart: eine für HTML und eine für Code.

Das funktioniert aber alles nur, wenn Du einen Entwicklungsrechner mit Visual Studio und SharePoint hast und wenn Du auf das Produktivsystem Farmsolution bringen darfst.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 10 Nov. 2011 12:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du könntest zum Anzeigen das XML-View WebPart benutzen und den Inhalt dann mit XSL transformieren. Du holst ja in deinem Code auch nur die XML Datei ab und transformierst sie mit code.

Ohne Rang
81 Beiträge
Dirk Weinert Als Antwort am 10 Nov. 2011 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Moinsen,

die Idee mit XSL ist super. Da habe ich überhaupt noch nicht dran gedacht. ;-)

Im Prinzip ging es mir bei dem kleinen XML-Projekt darum, VB-Code nutzen zu können.
Mittlerweile habe ich eine ASP.NET Seite (auch wieder mit VB-Code) erstellt, die sich zu einem SQL-Server verbindet und dort Daten holt und auf einer Webpage darstellt. Aber auch hier habe ich natürlich das Problem mit dem implementierten VB-Code.

Wie Andi geschrieben hat, muss ich ja mit Visual WebParts arbeiten. Auf meinem Rechner ist leider kein SharePoint installiert.

Gibt es eine Möglichkeit üer ASP.NET auf eine SQL-DB zuzugreifen und die Inhalte auf einer Webpage darzustellen und zwar so, dass das auf SharePoint läuft, ohne dass VB-Code ausgeführt werden muss?

Besteht der einzige Weg darin, dass ich mit den Visual WebParts arbeiten muss?

Wenn es nicht anders realisierbar ist, dann muss der SharePoint halt noch auf meinen Rechner drauf.

Eine solche Entscheidung treffe aber leider nicht ich. ;-)

Danke
DW

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Nov. 2011 14:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Daten aus MS SQL kann man relativ einfach über BCS als externe Inhaltstypen einbinden. Das geht mit SharePoint Designer.

Wenn Du ernsthaft für SharePoint entwickeln möchtest, brauchst Du Visual Studio und SharePoint auf einem Rechner.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
235 Beiträge
FCaprio Als Antwort am 10 Nov. 2011 14:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Installation voN Sahrepoint auf Win 7 x64: http://msdn.microsoft.com/en-us/library/ee554869.aspx

Sharepoint Foundation zum download: http://www.microsoft.com/download/en/details.aspx?id=5970

Visual Studio 2010 hast du ja bereits.