Laden...

Forenbeiträge von FranzBeckenbauer Ingesamt 63 Beiträge

28.10.2011 - 09:38 Uhr

Hallo,

bestimmt steht dies ja alles schon mal wo geschrieben wo ich noch meiner längeren Such immer noch nicht finde. Dafür entschuldige ich mich gleich mal.

Zu meinem Anligen:
Ich habe ein aspx - Projekt erstellt mit einer dazugehörigen Datenbank von MSSQL.
Nun möchte ich das ganze mal online stellen, aber wie???

Gibt es oder kann mir evtl. ne Schritt für Schritt Anleitung zu diesem Thema geben.
Hab das noch nie gemacht und bin blutiger Anfänger.

Was brauche ich alles und vorallem was und wie muss ich es machen das mein Projekt online geht...

Folgende WebSpace habe ich in meiner engeren Auswahl:
http://www.netspec.de/Default.aspx?tabid=99#test
http://www.domainbox.de/web-hosting/whwin.php
http://shop.webjanssen.de/index.php?option=com_wrapper&view=wrapper&Itemid=32

Sind zu diesen Anbietern evtl Negative oder sogar positive Sachen bekannt?

Habt verständnis mit meiner Unwissenheit und danke schon mal im Voraus für eure Bemühungen.

MFG

27.10.2011 - 22:56 Uhr

Man man man. Das hätte ich sogar ohne Debugger sehen müssen.
Voll übersehen, glaubst gar nicht wie oft ich bei der Fehlersuche den Code gelesen habe.

Ich danke dir vielmals dass du dich durch meinen Code gewurschtelt hast und mir die Lösung gebracht hast.

MFG, das nächste Problem wartet bestimmt nicht lange auf sich...

27.10.2011 - 21:06 Uhr

Hier ein Bild um es besser zu veranschaulichen?

27.10.2011 - 20:34 Uhr

++Zeigt er wenn Du auf Rückrunde klickst die ganze Zeit noch das Vorrunden-Grid an? ++
Richtig. Beispiel: Angenommen ich klicke erst im Menu auf "Vorrunde", nun zeigt er auch ohne Spuchten das richtige GridViewVorrunde an. Nun möchte ich mit Klick im Menu auf Rückrunde das GridViewRueckrunde sehen, aber es paasiert nicht. Es ist immer noch das GridViewVorrunde da. Erst bei Klick auf eine Spaltenüberschrift (sorting auslösen) erscheint dann das richtige GridViewRueckrunde.

Greifst Du sonst noch irgendwo auf die Visible-Eigenschaften zu?
Nein nirgend wo mehr.

Wo und wann werden die Daten gebunden?
Jedes der beiden GridView im Pageload:


protected void Page_Load(object sender, EventArgs e)
        {
            con.Open();
            cmd = new SqlCommand("SELECT ID, Tag, Convert(nvarchar(10), Datum, 104) as Datum, Zeit, Liga, Begegnung FROM TBSpielplan WHERE Vorrunde='True' ORDER BY Datum DESC", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            GridViewVorrunde.DataSource = dt;
            GridViewVorrunde.DataBind();
            con.Close();

            con2.Open();
            cmd2 = new SqlCommand("SELECT ID, Tag, Convert(nvarchar(10), Datum, 104) as Datum, Zeit, Liga, Begegnung FROM TBSpielplan WHERE Vorrunde='False' ORDER BY Datum DESC", con2);
            SqlDataAdapter da2 = new SqlDataAdapter(cmd2);
            DataTable dt2 = new DataTable();
            da.Fill(dt2);
            GridViewRueckrunde.DataSource = dt2;
            GridViewRueckrunde.DataBind();
            con2.Close();
        }

und im Sorting:


        protected void GridViewVorrunde_Sorting(object sender, GridViewSortEventArgs e)
        {
            con.Open();
            cmd = new SqlCommand("SELECT ID, Tag, Convert(nvarchar(10), Datum, 104) as Datum, Zeit, Liga, Begegnung FROM TBSpielplan WHERE Vorrunde='True' ORDER BY Datum DESC", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dtGridData = new DataTable();
            da.Fill(dtGridData);

            DataView dvGridDataView = dtGridData.DefaultView;
            string strSortOrder = "";
            if (ViewState["SortOrder"] == null)
            {
                ViewState["SortOrder"] = "asc";
            }
            if (ViewState["SortOrder"].ToString() == "asc")
            {
                ViewState["SortOrder"] = "desc";
                strSortOrder = "desc";
            }
            else if (ViewState["SortOrder"].ToString() == "desc")
            {
                ViewState["SortOrder"] = "asc";
                strSortOrder = "asc";
            }
            dvGridDataView.Sort = e.SortExpression + " " + strSortOrder;
            dtGridData = dvGridDataView.ToTable();

            GridViewVorrunde.DataSource = dtGridData;
            GridViewVorrunde.DataBind();

            con.Close();
        }

        protected void GridViewRueckrunde_Sorting(object sender, GridViewSortEventArgs e)
        {
            con.Open();
            cmd = new SqlCommand("SELECT ID, Tag, Convert(nvarchar(10), Datum, 104) as Datum, Zeit, Liga, Begegnung FROM TBSpielplan WHERE Vorrunde='False' ORDER BY Datum DESC", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dtGridData = new DataTable();
            da.Fill(dtGridData);

            DataView dvGridDataView = dtGridData.DefaultView;
            string strSortOrder = "";
            if (ViewState["SortOrder"] == null)
            {
                ViewState["SortOrder"] = "asc";
            }
            if (ViewState["SortOrder"].ToString() == "asc")
            {
                ViewState["SortOrder"] = "desc";
                strSortOrder = "desc";
            }
            else if (ViewState["SortOrder"].ToString() == "desc")
            {
                ViewState["SortOrder"] = "asc";
                strSortOrder = "asc";
            }
            dvGridDataView.Sort = e.SortExpression + " " + strSortOrder;
            dtGridData = dvGridDataView.ToTable();

            GridViewRueckrunde.DataSource = dtGridData;
            GridViewRueckrunde.DataBind();

            con.Close();
        }

mfg

27.10.2011 - 20:10 Uhr

Hallo,

das mache ich folgend:


protected void Menu3_MenuItemClick(object sender, MenuEventArgs e)
        {
            if (Menu3.SelectedValue == "Vorrunde")
            {
                PanelVorrunde.Visible = true;
                PanelRueckrunde.Visible = false;
            }
            if (Menu3.SelectedValue == "Rueckrunde")
            {
                PanelVorrunde.Visible = false;
                PanelRueckrunde.Visible = true;
            }
        }

mfg

27.10.2011 - 19:14 Uhr

Hallo,
ich habe damit nicht so viel Erfahrung, also entschuldigt meine Unwissenheit.

Ich erstelle mit ASP.NET eine Webseite. auf einer .aspx habe ich ganz oben
ein asp:Menu wo der User auswählen kann Vorrunde oder Rückrunde mit folgendem Code:


<asp:Menu ID="Menu3" runat="server" onmenuitemclick="Menu3_MenuItemClick" 
                                                            Orientation="Horizontal" ForeColor="Red">
                                                            <Items>
                                                                <asp:MenuItem Text="Spielplan" Value="Spielplan">
                                                                    <asp:MenuItem Text="Vorrunde" Value="Vorrunde"></asp:MenuItem>
                                                                    <asp:MenuItem Text="Rückrunde" Value="Rueckrunde"></asp:MenuItem>
                                                                </asp:MenuItem>
</Items>
                                                        </asp:Menu>

Dazu soll auf jeweiligen Klick darauf ein asp:Panel (mittels Visible true und false) anzeigen und das ander verschwinden.

Innerhalb jedes asp:Panel habe ich ein Gridview mit folgenden code:


<asp:GridView ID="GridViewVorrunde" runat="server" BackColor="#CCCCCC" 
                                                    BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" 
                                                    CellPadding="4"  AllowPaging="True" PageSize="5" 
                                                    CellSpacing="2" onpageindexchanging="GridViewVorrunde_PageIndexChanging"
                                                    AllowSorting="True" CssClass="GridViewStyle" onsorting="GridViewVorrunde_Sorting">
                                                    <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
                                                    <RowStyle BackColor="White" ForeColor="Black" />
                                                    <SelectedRowStyle BackColor="#da9993" Font-Bold="True" ForeColor="White" />
                                                    <SortedAscendingCellStyle BackColor="#F1F1F1" />
                                                    <SortedAscendingHeaderStyle BackColor="#808080" />
                                                    <SortedDescendingCellStyle BackColor="#CAC9C9" />
                                                    <SortedDescendingHeaderStyle BackColor="#383838" />

                                                    <FooterStyle CssClass="FooterStyle" />
                                                    <EmptyDataRowStyle CssClass="EmptyRowStyle" />
                                                    <HeaderStyle CssClass="HeaderStyle" />
                                                    <EditRowStyle CssClass="EditRowStyle" />             
                                                </asp:GridView>

und das andere


<asp:GridView ID="GridViewRueckrunde" runat="server" BackColor="#CCCCCC" 
                                                    BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" 
                                                    CellPadding="4"  AllowPaging="True" PageSize="5" 
                                                    CellSpacing="2" onpageindexchanging="GridViewRueckrunde_PageIndexChanging"
                                                    AllowSorting="True" CssClass="GridViewStyle" onsorting="GridViewRueckrunde_Sorting">
                                                    <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
                                                    <RowStyle BackColor="White" ForeColor="Black" />
                                                    <SelectedRowStyle BackColor="#da9993" Font-Bold="True" ForeColor="White" />
                                                    <SortedAscendingCellStyle BackColor="#F1F1F1" />
                                                    <SortedAscendingHeaderStyle BackColor="#808080" />
                                                    <SortedDescendingCellStyle BackColor="#CAC9C9" />
                                                    <SortedDescendingHeaderStyle BackColor="#383838" />

                                                    <FooterStyle CssClass="FooterStyle" />
                                                    <EmptyDataRowStyle CssClass="EmptyRowStyle" />
                                                    <HeaderStyle CssClass="HeaderStyle" />
                                                    <EditRowStyle CssClass="EditRowStyle" />             
                                                </asp:GridView>

Beide befülle ich aus meiner SQL-Datenbank.

So weit so gut!!
Das funktioniert auch alles, AUßER...

Zu meinem Problem:
Ich klicke im Menu auf Vorrunde und das GridViewVorrunde erscheint ordnugsgemäß,
klicke ich nun im Menu auf Rückrunde erscheint das GridViewRueckrunde NICHT!
Ich kann im Browser die Seite aktualisieren, aber es geschiet nichts.

Erst wenn ich nun im GridViewVorrunde das Sorting auslöse, dann zeigt er mir gleich nach dem Klich (Sorting) das richtige GridViewRueckrunde.

Woran liegt das?
Bin am verzweifeln.

Entschuldigung für den Haufen Code...

Danke schon mal im Voraus.

08.10.2011 - 19:45 Uhr

hallo,

danke für eure schnelle und hilfreiche Antwort.
Hab mir die Vorschläge von euch beiden mal vorgenommen und siehe da es funktioniert.

vielen vielen dank euch beiden.

08.10.2011 - 17:54 Uhr

Hallo, ich habe folgendes Problem,

ich befülle eine DropDownlList über meine SQL-Datenbank aus der Tabelle TBAngaben(mit den Feldern ID und VEREIN) folgend:


SqlDataReader ddDR = null;
                cmd = new SqlCommand("SELECT * FROM TBVereine", con);
                con.Open();
                ddDR = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                ddMannschaftBearbeiten.DataSource = ddDR;
                ddMannschaftBearbeiten.DataTextField = "Verein";
                ddMannschaftBearbeiten.DataValueField = "ID";
                ddMannschaftBearbeiten.DataBind();
                con.Close();

Funktioniert auch super, nun möchte ich den vom User ausgewählten Eintrag der DropDownList wieder in eine Datenbank schreiben mit folgenden Code:


try
                {
                    con3.Open();
                    using (SqlCommand cmd3 = new SqlCommand("UPDATE TBVereine SET Verein='" + txtNeuerMannschName.Text + "',  WHERE ID='" + ddMannschaftBearbeiten.DataValueField + "' ", con3))
                    {

                        cmd3.ExecuteNonQuery();
                    }
                    con3.Close();

                }
                catch (FormatException ex)
                {
                    lblFehler.Text = "Fehler";
                }

Aber hier bekomme ich folfende Fehlermeldung : Falsche Syntax in der Nähe des 'WHERE'-Schlüsselworts.
Wie muss ich das jetzt machen, dass ich die ID des ausgewählten Eintfags des Dropdown erhalte und dann beim Insert richtig übergeben kann??

Danke schon mal.
mfg

05.10.2011 - 18:13 Uhr

Hallo,
ich habe ein ASP.NET Projekt welches eine DropDownList enthält dass ich aus meiner Datenbank (MSSQL) befüllen lasse. das funktioniertt auch soweit.

Zu meinem Problem:
Ich möchte aber dafür sorgen, wenn der Benutzer dieser Seite keine passende Auswahl in meiner DropDownList findet, dass er manuell von Hand einen Eintrag in die DropDownlist schreiben kann. Also nix anderes wie wenn er in eine TextBox schreibt.
Nur die DropDownlist lässt keine Einträge von Hand zu.
Ist bestimmt ein dummer Anfängerfehler.

Befüllen tu ich meine Dropdownlist folgend:


SqlDataReader ddDR = null;
            cmd = new SqlCommand("SELECT * FROM TBVereine", con);
            con.Open();
            ddDR = cmd4.ExecuteReader(CommandBehavior.CloseConnection);
            ddGegnerN.DataSource = ddDR;
            ddGegnerN.DataTextField = "Verein";
            ddGegnerN.DataValueField = "Verein";
            ddGegnerN.DataBind();
            con.Close();

mfg und danke.

04.10.2011 - 20:20 Uhr

Hallo,
danke euch beiden.
Schade dass der asp.calendar das nicht her gibt.
dann werd ich mich mal mit jqueri versuchen, hab da nur keine Erfahrung darin.
kennt jemand zufällig ein gutes Tutorial dazu.
mfg

03.10.2011 - 21:46 Uhr

hallo und danke für die antwort.

mit

 
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
        {
            Label1.Text = Calendar1.SelectedDate.ToString();

        }

gebe ich schon mal in mein Label aus was der user für eon datum im kalender angeklickt hat.

befüllen möcht ich den kalender mit Terminen, und zwar mache ich das so

 
con.Open();
            cmd = new SqlCommand("SELECT ID, Titel as Event, Convert(nvarchar(10), Datum, 104) as Datum FROM TBKalender WHERE Datum > GETDATE() ORDER BY Datum DESC", con);
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                this.Calendar1.SelectedDate = Convert.ToDateTime(reader["Datum"]);
                this.Calendar1.VisibleDate = Convert.ToDateTime(reader["Datum"]);
            }
            reader.Close();
            con.Close();


nur ist mein Problem dass ich da was falsch mache, weil es mir im Kalender nur einen Tag markiert und zwar den letzen Datensatz den er ladet.
Ich möchte aber dass er alle Tage markiert zudem er ein Datum in der DB findet. und wenn er auf ein markiertes Datum(Evebt) klickt soll der Event(Termin) in ein Label mit dem Inhalt ausgegeben werden.

Thanks.

03.10.2011 - 20:53 Uhr

Hallo,
was ich möchte ist bestimmt recht simpel. Ich mochte auf einer aspx. einen normalen ASP.Calendar haben, dem ich mit Termine aus meiner Datenbank im CodeBehind(C#) befülle.
Diese Termine sollen dann farbig im Kalender dargestellt werden und mit dem Klick darauf soll dieser Termin in ein Label ausgegeben werden.
Evtl, wäre super wenn im Kalender schon wörlich der Termin erscheint (z.B wie im Bild).

Vielen Dank im Voraus.