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.




Auf ASP Steuerelemente zugreifen

Unbeantwortet Dieser Beitrag hat 12 Antworten

Ohne Rang
18 Beiträge
Michael Strauß erstellt 12 Jan. 2011 10:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich bin relativ neu in Sachen Sharepoint. Wir bauen gerade eine Intranet-Seite auf.

Darin habe ich eine Seite erstellt und dort ein GridView, einen SqlDataSource, eine Textbox und einen Button (alles ASP-Steuerelemente) eingefügt.

Es lief relativ problemlos, das Grid mit Daten über den SqlDataSource zu füllen.

Nun wollte ich, dass das Grid bei dem OnLoad Event beschrieben wrid. Hier mal ein paar Code-Stücke:

Gaaanz oben in der aspx-Datei:

-------------------------------------------------------------------------------------------------

<%-- _lcid="1031" _version="14.0.4762" _dal="1" --%>
<%-- _LocalBinding --%>
<%@ Page language="C#" MasterPageFile="~masterurl/default.master"    Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.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=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>


    <script type="text/c#" runat="server">
        protected override void OnLoad(EventArgs e)
        {
            ContentPlaceHolder Main = (ContentPlaceHolder)Master.FindControl("PlaceHolderMain");
            GridView ETTGrid = (GridView)Main.FindControl("ETTGrid");
            SqlDataSource ETT_Source = (SqlDataSource)Main.FindControl("ETT_Source");
            TextBox ArtNr_Suche = (TextBox)Main.FindControl("ArtNr_Suche");
       
            string commandstring = "SELECT * FROM ett.csv WHERE ARTIKELNUMMER='" + 123 + "'";

            ETT_Source.SelectCommand = commandstring;
   
            ETTGrid.DataSource = ETT_Source;
            ETTGrid.DataBind();
           
            ArtNr_Suche.Text = "Funktion ausgeführt";  
       
            Response.Write(commandstring);
            Response.Write(ArtNr_Suche.Text);           
            base.OnLoad(e);          
        }
    </script>

-------------------------------------------------------------------------------------------------

Weiter unten:

-------------------------------------------------------------------------------------------------

<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
        <table cellpadding="4" cellspacing="0" border="0" width="100%">
                <tr>
                    <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top" width="100%">
                        <WebPartPages:WebPartZone runat="server" Title="loc:FullPage" ID="FullPage" FrameType="TitleBarOnly"><ZoneTemplate>
                        <WebPartPages:WikiContentWebpart runat="server" AllowEdit="True" AllowConnect="True" ConnectionID="00000000-0000-0000-0000-000000000000" Title="" IsIncluded="True" Dir="Default" IsVisible="True" AllowMinimize="True" ExportControlledProperties="True" ID="g_d93efd78_0c78_4fef_a21a_1e7f0c4f5af9" PartImageSmall="" FrameType="None" FrameState="Normal" ExportMode="All" AllowHide="True" SuppressWebPartChrome="False" DetailLink="" ChromeType="None" HelpLink="" MissingAssembly="Dieses Webpart kann nicht importiert werden." AllowRemove="True" HelpMode="Modeless" Directive="&lt;%@ Register TagPrefix=&quot;SharePoint&quot; Namespace=&quot;Microsoft.Sharepoint.WebControls&quot; Assembly=&quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; %&gt;" AllowZoneChange="True" PartOrder="1" Description="" PartImageLarge="" IsIncludedFilter="" __MarkupType="vsattributemarkup" __WebPartId="{D93EFD78-0C78-4FEF-A21A-1E7F0C4F5AF9}" WebPart="true" Height="" Width=""><Content>

                                <div>
                                    <asp:GridView runat="server" id="ETTGrid" DataSourceID="ETT_Source" AllowPaging="True">
                                    </asp:GridView>
                                    <br />
                                    <asp:TextBox runat="server" id="ArtNr_Suche">
                                    </asp:TextBox>
                                    <br />
                                    <br />
                                    <asp:Button runat="server" Text="Button" id="Button1"/>
                                    <asp:SqlDataSource runat="server" ID="ETT_Source" ProviderName="System.Data.Odbc" ConnectionString="Dsn=ETT-Preise" SelectCommand="SELECT * FROM ett.csv">
                                    </asp:SqlDataSource>
                                                                                       
                                </div>
</Content>

-------------------------------------------------------------------------------------------------

Da ist irgendwas falsch. Beim Aufruf der Seite kommt die Meldung "Es ist ein unerwarteter Fehler aufgetreten.". In der Log-Datei steht bei dieser Korrelations-ID "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.".


Habe dazu auch schon was gefunden... aber kein Lösungsansatz aus dem Internet funktioniert bei mir.

Kann mir hier jemand helfen?

Danke schonmal im Voraus

 

Grüße, Michael

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Jan. 2011 11:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hat das mit dem Inline-Code denn jemals funktioniert? Normalerweise ist in Webpartseiten nämlich kein inline-Code erlaubt und ich tippe auf eine irreführende Fehlermeldung. Ansonsten mußt Du das wohl selbst debuggen. Wir können Dir hier auch nicht sagen, wo die NullReferenceException herkommt...

Ich würde aber trotzdem empfehlen das Konstrukt in ein eigenes Webpart zu packen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Michael Strauß Als Antwort am 12 Jan. 2011 11:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

In ein eigenes Webpart??? Mit dem Visual Studio oder wie???

Würde das denn gehen, wenn es keine Webpartseite wäre???

Wie kann ich ASP-Code debuggen?

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

[quote user="Michael Strauss"]In ein eigenes Webpart??? Mit dem Visual Studio oder wie???[/quote]

Ja.

[quote user="Michael Strauss"]Würde das denn gehen, wenn es keine Webpartseite wäre???[/quote]

Nur in einer Anwendungsseite, aber die gelten für den ganzen Server (anstatt nur für eine bestimmte URL).

 [quote user="Michael Strauss"]Wie kann ich ASP-Code debuggen?[/quote]

Mit Visual Studio.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Michael Strauß Als Antwort am 12 Jan. 2011 14:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ääähm... Man kann also auf einer Seite ASP-Steuerelemente einfügen, welche Events feuern, für die aber kein Code implementiert werden darf?????

 

Wahrscheintlich brauche ich das Visual Studio 2010, oder?

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

[quote user="Michael Strauss"]Man kann also auf einer Seite ASP-Steuerelemente einfügen, welche Events feuern, für die aber kein Code implementiert werden darf?????[/quote]

Ja, wenn der rein deklarative Ansatz nicht ausreicht.

[quote user="Michael Strauss"]Wahrscheintlich brauche ich das Visual Studio 2010, oder?[/quote]

Für SharePoint 2010 ja.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Michael Strauß Als Antwort am 12 Jan. 2011 15:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich brauche doch im Grunde nur ein neues SelectCommand für mein DqlDataSource.

 

Sorry... aber der Aufwand, ein Webpart zu schreiben, ist meiner Ansicht nach zu hoch, für das bisschen mehr, was es können soll.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Jan. 2011 16:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der Aufwand ist nicht wirklich größer. Du brauchst die gleichen Controls und genau denselben Code. Dafür hast Du das dann sauebr als Webpart und keinerlei Probleme wegen nicht erlaubtem Inline-Code.

Aber keiner zwingt Dich das zu machen. Wenn Du es auch anders zum Laufen bekommst, nur zu...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Michael Strauß Als Antwort am 17 Jan. 2011 11:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe nun das Visual Studio 2010 installiert.

Beim Erstellen eines neuen Projekts, erscheint eine Meldung, dass Sharepoint Server installiert sein muss.

Ich muss doch nicht etwa auf dem Server entwicklen, oder?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 17 Jan. 2011 11:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Michael Strauß"]Ich muss doch nicht etwa auf dem Server entwicklen, oder?[/quote]

Doch. Aber natürlich nicht auf dem Produktivsystem. Dazu baut man sich einen Entwicklungssserver. SharePoint Foundation reicht auch, wenn Du nicht gerade explizit für den Server entwickeln mußt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Michael Strauß Als Antwort am 17 Jan. 2011 11:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Naja... eigentlich möchte ich nur das Webpart schreiben, das die o.a. Anforferungen erfüllt.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 17 Jan. 2011 12:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Heute vielleicht. Aber morgen möchtest Du dann ein anderes Webpart bauen. Und übermorgen etwas noch tolleres...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Michael Strauß Als Antwort am 17 Jan. 2011 13:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hat sich gerade sowieso erledigt... Kann nur auf dem Server über Remote-Desktop coden. Hab kein 64bit OS. Von daher kann ich die Sharepoint Foundation gar nicht installieren.