Laden...
C
ChrisBa myCSharp.de - Member
Fachinformatiker (Azubi) Dabei seit 24.01.2011 54 Beiträge
Benutzerbeschreibung
Verwendetes Datenbanksystem: mssql 2008 R2 (Express Edition) Entwicklungsumgebung: VS 2010 (C#)

Forenbeiträge von ChrisBa Ingesamt 54 Beiträge

26.01.2022 - 10:52 Uhr

Besten Dank für die Hilfe.
Funktioniert nun. Kann geschlossen werden.

26.01.2022 - 08:49 Uhr

Kann mir bitte jemand helfen?

Ich bekomme den Fehler: "The JSON value could not be converted to System.String. Path: $.success | LineNumber: 0 | BytePositionInLine: 15."
Bei diesem Code:


public static void GetPersonen(string token)
        {
            var httpRequest = (HttpWebRequest)WebRequest.Create(string.Format("{0}&client_id={1}&client_secret={2}", EmployeesURL, Client_id, Client_secret));
            httpRequest.Accept = "application/json";
            httpRequest.Headers["Authorization"] = "Bearer " + token;


            var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var jsonData = streamReader.ReadToEnd();


                var mitarbeiter = System.Text.Json.JsonSerializer.Deserialize<Mitarbeiter>(jsonData);
                Console.WriteLine(mitarbeiter.data.attributes.first_name.value);
            }
        }

Mit diesen Klassen:


public class Mitarbeiter
    {
        public string success { get; set; }
        public Data data { get; set; }
    }

    public class Data 
    {
        public string type { get; set; }
        public Attributes attributes { get; set; }
    }

    public class Attributes
    {
        public string type { get; set; }
        public Id id { get; set; }
        public FirstName first_name { get; set; }
    }

    public class Id
    {
        public string label { get; set; }
        public int value { get; set; }
        public string type { get; set; }
        public string universal_id { get; set; }
    }

    public class FirstName
    {
        public string label { get; set; }
        public string value { get; set; }
        public string type { get; set; }
        public string universal_id { get; set; }
    }

25.01.2022 - 16:24 Uhr

Jetzt habe ich doch noch einen Nachbrenner....

Also, ich habs jetzt hin bekommen, dass ich die gewünschten Infos als JSON-String erhalte...
Nun stellt sich mir die Frage wie genau ich die richtigen Infos aus dem JSON-String erhalte.

Mein Versuch:


public static void GetPersonen(string token)
        {
            var httpRequest = (HttpWebRequest)WebRequest.Create(string.Format("{0}&client_id={1}&client_secret={2}", EmployeesURL, Client_id, Client_secret));
            httpRequest.Accept = "application/json";
            httpRequest.Headers["Authorization"] = "Bearer " + token;


            var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var jsonData = streamReader.ReadToEnd();

               
                JObject jObject = JObject.Parse(jsonData);

                foreach (var data in jObject["data"])
                {
                    foreach (var attributes in data["attributes"])
                    {
                        var firstname = attributes.SelectToken("first_name");
                        var value = firstname.SelectToken("value");
                        Console.WriteLine(value.Value<string>("value"));
                    }

                }
            }
        }

Aus dem JSON-String, siehe Anhang.

25.01.2022 - 06:55 Uhr

Alles klar. Danke für eure Hilfe.
Das hier ist damit geschlossen.

24.01.2022 - 07:14 Uhr

Hallo, der Support von Personio hat mir nun geschrieben:

Eine API-Request muss durch einen Bearer-Token verifiziert werden, der für jede neue Anfrage im Vorfeld neu abgerufen/generiert werden muss.

Weiter Auskunft oder Hilfe kann er mir dazu aber nicht geben.

Wie mache ich denn so einen Bearer-Token-Verifizierung auf meinen Code bezogen?

21.01.2022 - 11:21 Uhr

Hallo und Danke für die Antwort.
Ich dachte ich kann die Credentials anzeigen, da es sich ja um einen Test-Account handelt....
Über Refit werde ich mich gleich mal schlau machen.
Sonst noch Tipps?

21.01.2022 - 10:40 Uhr

Hallo zusammen.
Ich muss Daten per Api aus der Software Personio. The People Operating System. ziehen.
Dazu habe ich einen Test-Account bei Personio.de erstellt.

Mein Problem ist, dass ich mit dieser Materie noch gar nichts am Hut habe...

Ich habe dazu folgenden Code in einer Consolenanwendung, der mit den Fehler "401 (Unauthorized)" liefert.
Wie gesagt, ich habe hierzu leider überhaupt keine Ahnung und bin deshalb für jede Hilfe dankbar.
Übrigens, die Variablen client_id & client_secret sind auch die richtigen für meinen Test-Account bei Personio.de. Zudem habe ich einen Screenshot von Personio angeheftet und es gibt auch eine Doku (https://developer.personio.de/reference), die mir nichts bringt.


class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("*** START ***");
            Console.WriteLine("");

            GetPersonen();

            Console.WriteLine("");
            Console.WriteLine("*** END ***");
            Console.ReadLine();
        }

        private const string URL = "https://api.personio.de/v1/company/employees?limit=300&offset=0";
        private static string client_id = "xxxx";
        private static string client_secret = "xxxxxxxx";

        public static async void GetPersonen()
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(URL);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("client_id", client_id);
                client.DefaultRequestHeaders.Add("client_secret", client_secret);

                var responseTask = client.GetAsync("employees");
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {

                    var readTask = result.Content.ReadAsAsync<Person[]>();
                    readTask.Wait();

                    var personen = readTask.Result;

                    foreach (var person in personen)
                    {
                        Console.WriteLine(person.Nachname);
                    }
                }
                else
                {
                    Console.WriteLine("{0} ({1})", (int)result.StatusCode, result.ReasonPhrase);
                }
            }
        }
    }

    public class Person
    {
        public string Vorname
        {
            get;
            set;
        }

        public string Nachname
        {
            get;
            set;
        }
    }

30.08.2016 - 15:06 Uhr

Es war tatsächlich so dass der IIS_User am Proxy keine Rechte hatte.
Nun funktioniert es.

Vielen Dank für deine Hilfe/deinen Tipp!!

30.08.2016 - 15:01 Uhr

Vielen Dank für die Info.
Denke dass mein ISS_User nicht durch unseren Proxy darf....
Melde mich wieder dazu.

Nein, senden wollen wir direkt mit MailChimp.
Meine App soll nur genutzt werden um die Mailadressen zu importieren, löschen usw.
Also reine Pflege der Interressenten.

30.08.2016 - 14:20 Uhr

Hallo, ich hoffe ich bin hier richtig...
Ich verwende in meiner ASP.NET Anwendung eine MailChimp-API (MailChimpManager).
Bei einem Click_Event möchte ich Daten von MailChimp mit folgendem Code abrufen:

MailChimp.MailChimpManager mc = new MailChimp.MailChimpManager("mein ApiKey");
ListResult lists = mc.GetLists();

Dies funktioniert auch alles super auf meinem PC. Wenn ich die Anwendung am IIS7 ausführe, bekomme ich an dieser Stelle

(ListResult lists = mc.GetLists();)

folgende Fehlermeldung:> Fehlermeldung:

Die Verbindung mit dem Remoteserver kann nicht hergestellt werden. | Target Site: System.IO.Stream GetRequestStream(System.Net.TransportContext ByRef))

Was kann ich im IIS einstellen?
Oder geht evtl. der IIS nicht durch den Proxyserver?

Vielen vielen Dank schon mal an Euch.

05.03.2014 - 14:59 Uhr

Danke dir.
Hört sich spannend an 😉

Ich werds testen.
Danke nochmal.

05.03.2014 - 14:39 Uhr

Hallo Abt. Danke für deine Antwort.

Ich benutze noch VisualStudio 2010 und werde deshalb erst mal alles für SignalR anhand dieser Anleitung einrichten.

Dananch werde ich mich daran versuchen.

MFG

05.03.2014 - 08:17 Uhr

Hallo,
ich habe ein ASP.NET Projekt bei dem man interne Nachrichten versenden kann.
Ist nix anderes dass meine über ein Formular einen neuen Eintrag in die Datenbank (MS SQL 2008R2)
speichert. Man gibt im Formular den Empfänger (UserID) an.

Der Empfänger erhält auch die Nachricht (geschieht in der MasterPage). Dabei wird eine Benachrichtigung aufgepopt.
Allerdings popt die Nachricht nur auf wenn der Empfänger einen Event (z.B Button Click Event) auslöst.

Jetzt meine Frage bzw. mein Problem:
Gibt es eine Möglichkeit, dass einem User die Nachrichten-Benachrichtigung aufpopt oder angezeigt wird ohne dass ein Event ausgelöst wird, also wenn die Maus und Tastatur ruhig bleibt.

Habs auch schon mit dem Timer versucht (innerhalb der MasterPage). Dabei wird aber bei jedem Interwall die ContentPage aktualisiert.
Selbst Google hilft mir nach zwei Tagen nicht mehr weiter.

Hat jemand Tipps für mich wie das zu lösen ist?

21.09.2011 - 12:40 Uhr

Hallo miteinander,

Ich möchte mit ASP.NET eine kleine Seite mit eben ner Bildergalerie erstellen.
ich benutze die fertige Bildergalerie von http://www.aspnetzone.de/blogs/juergengutsch/archive/2008/04/23/eine-einfache-bildergalerie-mit-asp-net.aspx
Ich habe den Code in mein Projekt eingearbeitet.

Zu meinem Problem:
Wenn ich nun ein Bild anklicke wird dieses in einer neuen Seite (http://localhost:58548/ShowImage.ashx?filename=100_2107.JPG&width=600) geöffnet was ja falsch ist. Ich möchte es letztendlich so haben wie im Original (das man sich auch auf der Seite downloaden kann).
Das heißt, beim klick auf ein Bild soll dies nicht auf einer neuen Seite geschehen sondern das Bild eben zentriert hervorgehebt und mit verdunkelten Hintergrund.

Vielen Dank für eure Bemühungen.

15.09.2011 - 16:05 Uhr

hierst ist noch der CSS-Code. Danke schon mal im Voraus für die Hilfe.

15.09.2011 - 15:48 Uhr

Hallo zusammen,
ich habe wie am Bild ersichtlich zwei Navigationen zu Testzwecke.
Die untere Navi verfügt im gegensatz zur oberen um Untermenüpunkte die auch soweit funktionieren.
MeinProblem ist die Optik der unteren. Muster soll die obere Navi sein.

zum Problem... die weißen Trennstriche (Separator) sind in der unteren Navi nur am oberen Rand ganz klein zu sehen.
Problem 2: Die untere Navi zerbricht mir irgend wie mein Layout.
Es verzieht und verschiebt mir meinen Body und Footer. entferne ich den Code der zweiten navi dann passen body und footer wieder.

Also Ziel soll sein: eine Navigation mit Unterpunkten die so sauber Aussieht wie die obere Navi.

Obere Navigation:


			    <ul class="nav">
				    <li class="active"><a href="Home.aspx?ID=Home">Home</a></li>
                    <li><a href="Ueber_uns.aspx?ID=Rock">Über uns</a></li>
				    <li><a href="Kalender.aspx?ID=Kalender">Kalender</a></li> 
				    <li><a href="Sponsoren.aspx?ID=Sponsoren">Sponsoren</a></li>
                    <li><a href="Galerie.aspx?ID=Galerie">Galerie</a></li>
                    <li><a href="Gaestebuch.aspx?ID=Gaestebuch">Gästebuch</a></li>
                    <li><a href="Links.aspx?ID=Links">Links</a></li>
                    <li><a href="Mitglieder.aspx?ID=Mitglieder">Mitglieder</a></li>
                    <li><a href="Mitglied_werden.aspx?ID=Mitglied_werden">Mitglied werden</a></li>
			    </ul>

Untere Navigation:


                <div id="menu"><!-- öffnet die Navigationsleiste-->

                   <ul><!-- öffnet den ersten Themenblock -->
                      <li><!-- öffnet die Listeneinträge von Thema 1 -->
                         <h3 class="active"><a href="#">Thema 1</a></h3>
                            <ul><!-- öffnet die Klappnavi von Thema 1 -->
                               <li><a href="#">Thema 1.1</a></li>
                               <li><a href="#">Thema 1.2</a></li>
                               <li><a href="#">Thema 1.3</a></li>
                            </ul><!-- schließt die Klappnavi von Thema 1 -->
                         </li><!-- schließt die Listeneinträge von Thema 1 -->
                   </ul><!--schließt den ersten Themenblock-->

                   <ul><!-- öffnet den zweiten Themenblock -->
                      <li><!-- öffnet die Listeneinträge von Thema 2 -->
                         <h3><a href="#">Thema 2</a></h3>
                            <ul><!-- öffnet die Klappnavi von Thema 2 -->
                               <li><a href="#">Thema 2.1</a></li>
                               <li><a href="#">Thema 2.2</a></li>
                               <li><a href="#">Thema 2.3</a></li>
                            </ul><!-- schließt die Klappnavi von Thema 2 -->
                         </li><!-- schließt die Listeneinträge von Thema 2 -->
                   </ul><!--schließt den ersten Themenblock-->

            </div>

03.05.2011 - 16:51 Uhr

Hallo,
bin noch neu in diesem Gebiet und habe mit FileUpload noch keine Erfahrung.

Folgendes...

  • ich hab ne SQL-DB mit nem Feld varbinary
  • habe auf meiner .aspx eine FileUpload mit nem Button (btnSave) zum Speichern

Bei Klick auch btnSave soll dass ausgewähle Bild in der DB gespeichert werden,
das ich folgendend löse:


            if (FileUpload1.PostedFile != null)
            {
                string productName = txtProductName.Text;
                byte[] productImage = FileUpload1.FileBytes;

                string constr = @"Data Source=CHRISTIAN-PC\SQLExpress;Integrated Security=true;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DBiFirma.mdf;Database=DBiFirma; Trusted_Connection=yes;";
                string query = "INSERT INTO TBProducts(ProductName, ProductImage) VALUES(@ProductName, @ProductImage)";

                SqlConnection con = new SqlConnection(constr);
                SqlCommand com = new SqlCommand(query, con);

                com.Parameters.Add("@ProductName", SqlDbType.NVarChar).Value = productName;
                com.Parameters.Add("@ProductImage", SqlDbType.VarBinary).Value = productImage;

                con.Open();
                int result = com.ExecuteNonQuery();
                con.Close();

                if (result > 0)
                {
                    lblMessage.Text = "Product Saved Successfully";  
                }
            }
            else
            {
                lblMessage.Text = "Please Select Product Image File";
            }

            Response.Redirect("Einstellungen.aspx");
        }

Danach habe ich einen Eintrag in meiner DB den ihr im angehängten Bild sehen könnt.

im Pageload Möchte ich nun mein Bild aus der DB wieder ausgeben das aber leider nicht funtioniert wie ihr ebenfalls im angehängten Bild sehen könnt.

Was mache ich Falsch??
Danke schon mal im Voraus.
MFG

01.04.2011 - 08:49 Uhr

danke Diräkt.
genialer Link.

falls in zukunft noch jemand das gleiche problem hat:


            foreach (GridViewRow row in GridViewUser.Rows)
            {
                CheckBox chk = (CheckBox)(row.Cells[0].FindControl("chk1"));
                if (chk.Checked)
                {
                    con11.Open();
                    cmd11 = new SqlCommand("DELETE FROM TBUser WHERE UserID='" + chk.Text + "'", con11);
                    cmd11.ExecuteNonQuery();
                    con11.Close();   
                }
            }
            Response.Redirect("Admin.aspx");

mfg

31.03.2011 - 15:40 Uhr

hallo, ich bin neu was programmieren btifft.

ich hab ein gridview mit mehreren spalten das aus einer sql db befüllt wird.
nun hab ich dem gridview ein item template mit ner checkbox hinzugefügt.
habe auch einen button zum löschen der ausgewählten datensätze erstellt.


                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:CheckBox DataFild="CheckBox" ID="CheckBox1" runat="server" />
                                    </ItemTemplate>
                                </asp:TemplateField>

ich möchte quasi dass bei click auf den button alle datensätze gelöscht werden die die checkbox auf true haben.

nur hab ich absolut keinen schimmer wie und wo ich da vorgehen soll.
ich denke mal das ganze muss im codebehind rein.

meine bisherige versuche:


        protected void Button1_Click(object sender, EventArgs e)
        {  
            con3.Open();
            // in Deutsch soll nachfolgend stehen: Lösche aus TabelleUser wo im GridView1 die CheckBox1 True ist. Aber wie in c#???
            cmd3 = new SqlCommand("DELETE FROM TBUser WHERE GridView1.Rows is true", con3);
            cmd3.ExecuteNonQuery();
            con3.Close();
            Response.Redirect("Admin.aspx");
        }

ich hab absolut keien ahnung wie ich anfangen soll. google und youtube hat mir auch nicht geholfen.

danke schon mal.

29.03.2011 - 11:37 Uhr

selbst gelöst.
lange hats gedauert...

für die nachwelt: http://www.aspnetzone.de/forums/permalink/199537/199537/ShowThread.aspx

29.03.2011 - 10:17 Uhr

hallo zusammen.
ich bin noch anfänger und stehe wiedermal vor einem problem.
ich habe auf einer .aspx ein gridview erstellt dass ich mit daten aus dem Code Behind mit SqlCommand befülle. soweit so gut. hab beim gridview auch paging aktiviert.
aber das paging funktioniert nicht.
es kommt immer die Fehlermeldung: Die GridView GridView1 löste das Ereignis PageIndexChanging aus, das nicht behandelt wurde.

num habe ich das event


protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {}

hinzugefügt und habe keine Ahnung was da hinein kommt.
hab auch schon länger gegoogelt.

kann mir jemand helfen?

mein bisheriger code zu befüllung des gridviews:


public partial class Verkaeufer : System.Web.UI.Page
    {
        SqlConnection con = new SqlConnection(@"Data Source=CHRISTIAN-PC\SQLExpress;Integrated Security=true;AttachDbFilename=C:\Temp\New3OnlineShopDB.mdf;Database=New3OnlineShopDB; Trusted_Connection=yes;");
        static SqlDataReader dr;
        SqlCommand cmd;

        protected void Page_Load(object sender, EventArgs e)
        {

                //Ausgabe Artikel
                con.Open();
                using (SqlCommand cmd = new SqlCommand("SELECT ArtikelID, ArtikelBezeichnung, Preis, Verkäufer, Kategorie FROM TBArtikel WHERE Verkäufer= '" + Session["LogInID"].ToString() + "' ORDER BY ArtikelID DESC ", con))
                {
                    if (cmd != null)
                    {
                        SqlDataAdapter da = new SqlDataAdapter(cmd);
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                    else
                        LabelFehlanzeige1.Text = "Keine Treffer";
                }
                con.Close();
            
        }
}


bzw. muss da im page load auch noch was zusätzlich hinein??

mfg

24.03.2011 - 08:06 Uhr

danke schon mal für die antworten.
er bringt nen fehler in der zeile GesamtSumme = Convert... usw.

mfg

23.03.2011 - 16:52 Uhr

hallo.

ich habe 3 labels.
in label1 ist z.B. eine Zahl 1,20 (hat diesen Wert uhrsprünglich aus einem Decimal-Feld einer sql db)
bei label2 ist es das gleich wie bei label1.

im labelGesamt will ich num die summe von label1 und label2 eingeben.

wo liegt mein fehler.
vielen dank im voraus.
mfg


            double GesamtSumme;
            GesamtSumme = Convert.ToDouble(Label1.Text) + Convert.ToDouble(Label2.Text);
            LabelGesamt.Text = GesamtSumme.ToString();

22.03.2011 - 08:58 Uhr

hab das ganze jetzt mal etwas anders geschrieben und denke dass es so auch funktioniert.


 public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Guid EindeutigeID = Guid.NewGuid(); //Erstellen einer eindeutigen Guid

            if (!Page.IsPostBack)
            {
                if (Request.Cookies ["BesucherCookie"] == null) //Kein Cookie vorhanden
                {
                    Response.Cookies["BesucherCookie"].Value = EindeutigeID.ToString(); //Erstellen des Cookies  
                    Label1.Text = EindeutigeID.ToString() + "  Hat ein neues Cookie";
                }
                else //Cookie vorhanden
                {
                    //Inhalt von Cookie in Session schreiben
                    Label2.Text = Request.Cookies["BesucherCookie"].Value + "  Hat ein altes Cookie";

                }

                if (Session["BesucherID"] == null) //Keine Session vorhanden
                {
                    Session["BesucherID"] = EindeutigeID.ToString(); //Session erstllen
                    Label3.Text = Session["BesucherID"].ToString() + "  hat eine neu Sassion";
                }
                else
                    Label3.Text = Session["BesucherID"].ToString() + "  hat eine alte Sassion";
            }

        }
    }

22.03.2011 - 08:35 Uhr

einen "Fehler" gefunden, ein großes "B" bei .IsPostBack.

22.03.2011 - 08:22 Uhr

Danke. habs natürlich gelesen, bin nur nicht mit get und set so gut vertraut.

hab deine if- anweisung mal versucht. nur verstehe ich nicht wirklich was das heist??
hab da 2 fehler. ich hänge da echt fest...

21.03.2011 - 16:12 Uhr

Ah ja, vielen dank.
konnte ich gut gebrauchen.

zum nächsten problem...
wenn ein user auf meine startseite gelangt möchte ich prüfen ob dieser user schon ein Cookie von mir besitzt. ich möchte das am liebsten mit ner if-schleife lösen.
nur wie wird das geschrieben???
mein Versuch:
wie das in den Klammern der if-schleife aussehen soll, weiß ich nicht.


if (Cookie["BesucherCookie"] == null)
            {
                Guid EindeutigeID = Guid.NewGuid(); //Erstellen einer eindeutigen Guid
                Response.Cookies["BesucherCookie"].Value = EindeutigeID.ToString(); //Erstellen des Cookies
            }



Das Ganze befindet sich im Page_Load

mfg

21.03.2011 - 12:48 Uhr

hallo zusammen,
ich habe für meinen Übungs-WebShop ein paar asp.net - seiten erstellt.

ich möchte wenn ein user auf meine start seite gelangt, dass er dann ein cookie mit einer einmaligen ID bekommt. akzeptiert er das cookie nicht soll ihm eine eindeutige nummer (SessionID) zugewiesen werden.

da ich da noch keine erfahrung darin habe bin ich dankbar für jede hilfe.
bitte wie immer so einfach wie möglich.
köönt ihr mir ein paar tips geben wie z.b. ganz simpel und grundlegend ein cookie und ne session id geschrieben wird.

vielen dank,
mfg

18.03.2011 - 10:50 Uhr

soory und danke für die schnelle antwort.

tut mir leid aber ich seh da keinen fehler. ich steh bestimmt wieder auf der leitung.

18.03.2011 - 10:11 Uhr

hallo,
ich versteh das nicht...
ich hab ne seite in asp.net erstellt. klappt alles wunderbar. hab daran ne sql datenbank geknüpft.
so, auf meiner master page hab ich zum ausloggen nen linkbutton erstellt und dazu ein label.
immer bei klick auf den linkbutton
bekomme diese meldung die ich unten als bild angefügt habe.
ich weis nicht was ich falsch mache, den in meiner if else schleife hab ich ja den fall wenn die session (angemeldeter User) nicht Null ist, und wenn er kein angemeldeter user ist soll er den else-zweig ausführen.
wo liegt mein fehler.

danke schon mal im voraus.
mfg


 protected void LinkButtonAbmelden_Click(object sender, EventArgs e)
        {

            if (Session["Benutzername"] != null)
            {
                Session.Remove("Benutzername");
                LabelAbmelden.Text = "Auf Wiedersehen" + Session["Benutzername"].ToString(); ;
            }
            else
            {
                LabelAbmelden.Text = "Sie sind nicht angemeldet...";

            }
        }

17.03.2011 - 16:40 Uhr

danke dir aequitas für den tip.
werd ich mir gleich reinziehen.
mfg

17.03.2011 - 13:40 Uhr

selbst gelöst.
musste nur aus meinem html-code folgendes löschen.

DataSourceID="SqlDataSource">

17.03.2011 - 13:18 Uhr

hallo, ich hab ne daten sql datenbank und ein gridview auf meiner shop.aspx.
ich möchte das gridview in der shop.aspx.cs befüllen.
hab folgenden Code:


        SqlConnection con = new SqlConnection(@"Data Source=CHRISTIAN-PC\SQLExpress;Integrated Security=true;AttachDbFilename=C:\Temp\NeuOnlineShopDB.mdf;Database=NeuOnlineShopDB; Trusted_Connection=yes;");
        static SqlDataReader dr;
        SqlCommand cmd;

        protected void Page_Load(object sender, EventArgs e)
        {

            con.Open();
            cmd = new SqlCommand("SELECT ArtikelBezeichnung, Preis, Kategorie FROM TBArtikel ", con);
            SqlDataAdapter da2 = new SqlDataAdapter(cmd);
            DataTable dt2 = new DataTable();
            da2.Fill(dt2);
            GridView1.DataSource = dt2;
            GridView1.DataBind();
            con.Close();
        }     

ich bekomme dann die fehlermeldung:
Die DataSourceID von GridView1 muss die ID eines Steuerelements vom Typ IDataSource sein. Ein Steuerelement mit der ID SqlDataSourceRock konnte nicht gefunden werden.

ich hab keine ahnung wie ich weiter machen soll

mfg

17.03.2011 - 13:09 Uhr

habs gelöst...


<a href="Shop.aspx?ID=Rock" class="style10"><span class="style11">Rock</span></a>

mfg

17.03.2011 - 09:58 Uhr

hallo, danke für die schnellen antworten.
werde mich eurer vorschläge gleich mal annehmen.

hab noch eine Änderung zu meinem obigen text. möchte anstatt der linkbuttons <a href> verwenden.
das heist <a href> lege ich anstatt der linkbuttons auf meiner masterpage fest. geht der user nun auf die shop.aspx , kanner diese ebenfalls verwenden in dem er auf Rock "klickt".

mfg

17.03.2011 - 08:39 Uhr

hallo,
ich arbeite gerade an nem kleinen anfänger-projekt. ich hab nen music-web.shop erstellt. hab ne sql datenbank erstellt mit den inhalten wie Artikelbezeichnung, Preis, Kategorie.
hab auf meiner shop.aspx ein grid view angelegt und mit der daten bank verbunden. mit meinem


SelectCommand="SELECT [ArtikelBezeichnung], [Preis], [Kategorie] FROM [TBArtikel] >

lese ich alle daten bei besuch auf die seite aus.

nun zu meinem problem:
ich habe auf dieses seite ein paar linkbutton wie z.b. rock, disco, oldies usw.
ich möchte, wenn mann z.b. jetzt den linkbutton rock klickt, dann auf der gleichen seite im gleichen gridview nur die datensätze WHER [Kategorie]='Rock'

da ich das noch nie gemacht habe kann ich mir vorstellen. ich erzeuge ein on_click und füge da irgendwie nen select command ein wie zb.


SelectCommand="SELECT [ArtikelBezeichnung], [Preis], [Kategorie] FROM [TBArtikel] WHERE [Kategorie]='Rock'">

könnt ihr mir bittehelfen oder ein paar tips geben??
Danke
mfg

15.03.2011 - 08:47 Uhr

hallo, danke für eure antworten. ich hatte 20 datensetze in meiner tabelle.
ihr dürft jetzt lachen, denn ich sah den wald vor lauter bäumen nicht.
hatte in meinem SelectCommand Top 5 drinnen stehen, so dass er mir nur die ersten 5 ausgibt. Dämlich...

vielen dank. bis zum nächsten mal, das bestimmt nicht lange dauert.
mfg


SelectCommand="SELECT TOP 5 [Thema], [Datum], [IDNews], SUBSTRING (Text, 1, 292) as Text FROM [TableNews] ORDER BY [Datum] DESC">

14.03.2011 - 16:02 Uhr

hallo,
wie oben beschrieben teste ich gerade als anfänger mal das listview.
hab as listview auch schon erstell und funktioniert wunderbar.
alle datensätze werden eingelesen und nach dem datum sortiert usw.

nun meine frage, ich hab beidem listview und die ganzen button wie "Erste" Zurück" "Weiter" und "Letzte", nur sind die ohne funktion. also ich kann sie nicht anklicken.
ich bin mir sicher ich muss da was im DataPager was machen, oder doch evtl auf der aspx.cs???


<asp:DataPager ID="DataPager1" runat="server">
                                <Fields>
                                    <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                                        ShowLastPageButton="True" RenderDisabledButtonsAsLabels="False" />
                                </Fields>
                            </asp:DataPager>


protected void ListView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //????
        }

Danke schon mal im Voraus.
mfg

10.03.2011 - 14:50 Uhr

hallo und danke schon mal für die antworten.
wie im bild, hab ich meinen text mit...

SelectCommand="SELECT TOP 5 [Thema], [Datum], SUBSTRING (Text, 1, 292) as Text FROM [TableNews] ORDER BY [Datum] DESC">

...schon mal auf 292 Zeichen begrennzt.
da ich ein richtiger anfänger bin was programmieren betrifft hab ich nun wirklich keine ahnung wie ich das mit dem "button weiterlesen" machen soll.
ich hab ja diesen button selbst eingefügt im ItemTemplate:


<ItemTemplate>
            
                <table border="0" style="">
                    <tr style="">
                        <td valign="middle" style="width:900px">
                            <asp:Label ID="ThemaLabel"  runat="server" Text='<%# Eval("Thema") %>' />
                        </td>
                        <td valign="middle" style="width:200px">
                            <asp:Label ID="DatumLabel" runat="server" Text='<%# Eval("Datum") %>' />
                        </td>
                    </tr>
                </table>
                <i>
                <table border="1" style="" frame="below" rules="rows">
                    <tr>
                        <td colspan="2" valign="middle" style="width:1035px; height:10px; overflow:hidden;">
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("Text") %>' />
                        </td>
                    </tr>
                </table>
                </i>
            <br />
            <asp:Button ID="ButtonWeiterlesen1" runat="server" Height="23px" 
            Text="Weiterlesen" Width="96px" />
            <br />
            <br />
            <br />

            </ItemTemplate>

kann ich jetzt nicht in diesem Item Template beim Button einen ConnectionString einfügen, der dann den gesammten text zurückgibt (auf der selben seite oder einer anderen seite)??

bitte so einfach wie möglich. auf den von euch verlinkten seiten blicke ich nicht wirklich durch.

mfg

09.03.2011 - 16:57 Uhr

hallo,
ich habe eine Newsseite mit asp.net und list view erstellt.
sieht so aus:
5 news (datensätze) untereinander sortiert nach datum der erstellung.
nach jedem news-beitrag ist ein button zum weiterlesen. und ganz oben eine button zum "neues thema erstellen.

soweit so gut.

mein problem:

  1. einige news sind länger als andere. (sind gespeicher in sql, tabelle, nvarchar(max);
    ich möchte bei allen news nur z.b. die ersten 200 zeichen ausgeben
  2. wie sage ich dem button, dass er jetzt genau den news-beitrag zugewiesen ist wo er
    direkt darunter folgt

danke euch schon mal.
mfg

mein bisheriger code im html:


            <ItemTemplate>
            
                <table border="0" style="">
                    <tr style="">
                        <td valign="middle" style="width:900px">
                            <asp:Label ID="ThemaLabel"  runat="server" Text='<%# Eval("Thema") %>' />
                        </td>
                        <td valign="middle" style="width:200px">
                            <asp:Label ID="DatumLabel" runat="server" Text='<%# Eval("Datum") %>' />
                        </td>
                    </tr>
                </table>
                <i>
                <table border="1" style="" frame="below" rules="rows">
                    <tr>
                        <td colspan="2" valign="middle" style="width:1035px; height:10px; overflow:hidden;">
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("Text") %>' />
                        </td>
                    </tr>
                </table>
                </i>
            <br />
            <asp:Button ID="ButtonWeiterlesen1" runat="server" Height="23px" 
            Text="Weiterlesen" Width="96px" />
            <br />
            <br />
            <br />

            </ItemTemplate>
            <LayoutTemplate>
                <table runat="server">
                    <tr runat="server">
                        <td runat="server">
                            <table ID="itemPlaceholderContainer" runat="server" border="0" style="" cellpadding="10" >
                                <tr runat="server" style="background-color:#EEEEEE">
                                    <th id="Th1" runat="server" align="left" bgcolor="eeeeee"  valign="middle" style="width:880px">
                                        Thema</th>
                                    <th id="Th2" runat="server" align="left" bgcolor="eeeeee"  valign="middle" style="width:50px">
                                        Erstellungsdatum</th>
                                </tr>
                                <tr ID="itemPlaceholder" runat="server">
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr runat="server">
                        <td runat="server" style="">
                            <asp:DataPager ID="DataPager1" runat="server">
                                <Fields>
                                    <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                                        ShowLastPageButton="True" />
                                </Fields>
                            </asp:DataPager>
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
            <SelectedItemTemplate>
                <tr style="">
                    <td>
                        <asp:Label ID="ThemaLabel" runat="server" Text='<%# Eval("Thema") %>' />
                    </td>
                    <td>
                        <asp:Label ID="DatumLabel" runat="server" Text='<%# Eval("Datum") %>' />
                    </td>
                    <td>
                        <asp:Label ID="TextLabel" runat="server" Text='<%# Eval("Text") %>' />
                    </td>
                </tr>
            </SelectedItemTemplate>
        </asp:ListView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:NeuUserDBConnectionString %>" 
            SelectCommand="SELECT TOP 5 [Thema], [Datum], [Text] FROM [TableNews] ORDER BY [Datum]">
        </asp:SqlDataSource>

16.02.2011 - 11:27 Uhr

fehler gefunden. bin ich froh!!!
es lag daran, dass der überordner der datenbank schreibgeschützt war.
hab anschliesend folgenden ConnectionString verwendet:


string ConnectionString = @"Data Source=CHRISTIAN-PC\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|UserDB.mdf;Database=UserDB; Trusted_Connection=yes;";

Danke euch allen für eure Mühe.
mfg

16.02.2011 - 10:04 Uhr

nächster versuch:


string ConnectionString = @"Server=(local)\SQLExpress;Database=UserDB.mdf;Trusted_Connection=true;";

ich komm einfach nicht drauf.
hilfe!!

16.02.2011 - 08:14 Uhr

hallo, danke für die schnelle anwort. ich kenne die seite.
ich muss noch dazu erwänen, ich hab auf meinem rechner nur visual studio 2010. also kein sql express und auch kein sql management studio installiert, als nur das an sql software was visual studio von selbst mitbringt. brauch ich dafür eigentlich eins der erwähnten programme oder reicht visual studio alleine auch aus?

mein problem ist, auf www.connectionstrings.com in dem Standart Security string ist ein Kennwort mit angegeben, sowie der User.
Das legt man aber ja mit dem Datenbankexplorer von VS nicht fest.
mfg

16.02.2011 - 07:54 Uhr

Hallo, ich brauche wieder mal eure Hilfe.
Ich übe mich noch in ASP.NET. Ich versuch schon länger dass mein ConnectionString richtig funktioniert.
kann mir bitte jemand sagen wie mein ConnectionString lautet bei folgendem
Datenbank-Pfad: D:\Christian\VisualStudio Anwendungen\neu Übungen\MeineWebsite\MeineWebsite\App_Data\UserDB.mdf

mein bisheriger versuch sieht so aus:


string ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Christian\VisualStudio Anwendungen\neu Übungen\MeineWebsite\MeineWebsite\App_Data\UserDB.mdf;Integrated Security=True;User Instance=True";

danke im Voraus für eure hilfe.
mfg

14.02.2011 - 16:09 Uhr

Hallo AllForOne,
ich bin selbst auch noch etwas neu in c#.
ich habe eine schulung besucht die zwa teuer ist aber die auch das geld wert ist.
entscheiden musst du dich selber.
mfg
Link: http://www.ppedv.de/schulung/kurse/CSharp4.0-Programmierung-VisualStudio2010Grundlagen-Klassen-Generics-Vererbung-Polymorphismus-Schleifen.aspx

14.02.2011 - 08:19 Uhr

hallo zusammen.
so stelle ich mir ein gutes forum vor. nur qualifizierte aussagen und hilfen. ich danke euch MarsStein und Lennart.
habt mir sehr gut geholfen.
dankeschön. bis zum nächstenmal.
mfg

11.02.2011 - 12:40 Uhr

Hallo zusammen.
ich bin wiedermal am üben. momentan hab ich ne "webseite" mit asp.net erstellt.
seite 1 soll sein einanmeldung, das hab ich auch schon geschafft. also benutzername und passwort werden in der datenbank geprüft anhand von SqlDataReader. anschließend kommt man bei erfolgreicher anmeldung zu seite 2. funktioniert soweit.
nun mein problem: auf seite 2 hab ich ein label eingefügt in dem dann automatisch der benutzername dieses eingelockten users erscheinen soll. aber mit SqlDataReader komm ich da nicht weit. gibt es evtzl. irgendwo im net eine tabelle mit allen SqlData... wo dann erklärt ist was er macht und wie er funktioniert.
z.B. SqlDataReader --> lest einträge in der datenbank
SqlData??? --> gibt eintrage aus der datenbank aus

oder kann ich das auch anders lösen ohne datenbankzugriff?

vielen dank im voraus.
hab meine code mal hier...

 
//Die Felder in ein String umwandeln
            string strSQL = @"select * from UserDatenTabelle where Benutzername='" + LabelWillkommenIntern.Text + "'";
            //Datenbankzugriff
            string ConnectionString = @"Data Source = NOTEBOOK-SAD\SQLEXPRESS; AttachDbFilename=|DataDirectory|UserDB.mdf;Database=UserDB;User ID=admin;Password=admin;";
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                conn.Open();

                using (SqlCommand cmd = new SqlCommand(strSQL, conn))
                {
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        LabelWillkommenIntern.Text = "'Benutzername'";
                    }
                }
            }

10.02.2011 - 08:11 Uhr

vielen dank MarsStein,
funktioniert.

bis zum nächsten mal.

09.02.2011 - 11:44 Uhr

Hab mittlerweile in der web.conig was versucht, aber ohne Erfolg.
Die Eingabe des nachfolgenden Codes hatte nichts bewirkt.
Ich möchte bewirken, dass bei richter Eingabe z.B wie im Code unten,
Benutzername: Benutzer1 und Passwort: 1234
dann eben bei erfolgreicher Eingabe nicht mehr die Meldung erscheint "Eingabe falsch" sondern "Eingabe war richtig usw."
mfg

<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880">
<credentials passwordFormat = "SHA1">
<user name="Benutzer1" password="1234"/>
<user name="Benutzer2" password="5678"/>
</credentials>
</forms>
</authentication>

09.02.2011 - 09:20 Uhr

Hallo,
ich bin Neuling. Ich teste und versuche mich gerade mit ASP.NET.
Ich möchte etwas üben und experimentieren mit "Login1_Authenticate".

Kann mir jemand erklären wie das mit dem Login1_Authenticate funktioniert?
evtl ein kleines Beispiel oder Link. Kann ich ich zum testen auch ein LogInName und ein Passwort vergeben ohne Datenbank und wie spreche ich Benutzername und Passwort eigentlich an.

Ich bedanke mich wie immer für eure fleißige Hilfe.
MFG