C# text uit asp:textbox

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Adelbert
  • Registratie: Januari 2007
  • Laatst online: 27-01-2021
Hallo,

Sinds korte tijd ben C# aan het leren en heb een (waarschijnlijk) noob probleem 8)7 .

In een project wil ik de code behind op verschillende plaatsen een waarde gebruiken.
Deze waarde haal ik in de Page_Load als volgt uit de url: string ik = Request["n"];.
Hierna knal ik deze in een session: Session["ik"] = ik;

Dit werkt prima in dit gedeelte van de code. In de overige functies (public void) is de session leeg.
Het rare is als ik een keiharde waarde in de session zet (Session["ik"] = "sjon";) dan werkt het prima.

Op verschillende manieren heb ik dit probleem op proberen te lossen. Onder andere door de waarde in een cookie te plaatsen, de waarde in een Textbox gezet en deze proberen op te roepen (textboxid.text), sessions.

Iemand een idee?
Bedankt alvast.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20:13

NMe

Quia Ego Sic Dico.

Klinkt alsof je bij elke pageload die waarde overschrijft, ook als die helemaal niet meegegeven wordt. ;)

Maar hoe verwacht je precies dat wij hier veel over kunnen zeggen. Alles wat we van je code zien is twee regeltjes totaal buiten context en een heel vage omschrijving van wat je probleem is. We zijn hier niet helderziend. ;) Lees De Quickstart eens door.

[ Voor 57% gewijzigd door NMe op 29-07-2015 13:51 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Adelbert
  • Registratie: Januari 2007
  • Laatst online: 27-01-2021
Ik hoop eigenlijk dat iemand hier kan zeggen dat ik een tikfout maak in de paar stukjes code die ik getypt heb. Waarden verkeerd aangeroepen oid. Hopelijk wordt het door het onderstaande stukje code duidelijker.

Zoals te zien wordt er een textbox en session gevuld met "ik".
Voordat ik de database aanroep check ik eerst of hik.Text wel gevuld is.

Beide hik.Text of Session["ik"] geven geen waarde.
Het gaat om een website waarin signalr gebruikt wordt.

[code=c#]
protected void Page_Load(object sender, EventArgs e)
{
string ik = Request["n"]; //"sjon";
hik.Text = ik;
Session["ik"] = ik;

SendNotifications();
}

public void SendNotifications()
{
string message = string.Empty;
string conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string onoffline;
string profielfoto;
string openbericht;
string regelclass = string.Empty;
string fotoclass = string.Empty;
string openchat = string.Empty;
string naam = string.Empty;
string inlognaam = string.Empty;

if (hik.Text != null)
{
//#1
using (SqlConnection connection = new SqlConnection(conStr))
{
string query = "SELECT • FROM [dbo].[online] WHERE [chat]=@ja AND [inlognaam]<>@ik ORDER BY [online], [naam] ASC";

using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.Clear();
command.Parameters.AddWithValue("@ja", "j");
command.Parameters.AddWithValue("@ik", Session["ik"]);

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Waarom ben je überhaupt anno 2015 nog begonnen met ASP.NET WebForms te leren?

Praktisch alle nieuwbouw is ASP.NET MVC. WebForms is echt alleen nog legacy onderhoud en ieder bedrijf dat nog serieuze nieuwe projecten in WebForms start zou je eigenlijk als potentiële werkgever meteen af moeten schrijven.

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 20:37
Dan nog is het handig om te leren, maar inderdaad niet als eerste platform :)

Dan kan je beter kijken naar webapi met angularjs of asp.nrt mvc of iets dergelijks.

Acties:
  • 0 Henk 'm!

  • Jogai
  • Registratie: Juni 2004
  • Laatst online: 06-09 10:47
Ik schrik eigenlijk meer van het gebruik van sql in een codebehind...

Je kan de variabele beter meegeven als parameter, dan belast je je form & sessie niet..

C#:
1
2
3
4
5
6
7
8
9
protected void Page_Load(object sender, EventArgs e)
        {
            string ik = Request["n"]; //"sjon";
            SendNotifications(ik);
        }

        public void SendNotifications(string name)
        {
            // name == "sjon"

[ Voor 11% gewijzigd door Jogai op 30-07-2015 08:27 ]

Klik hier om op linkedIn lid te worden van de Freelance Tweakers groep.


Acties:
  • 0 Henk 'm!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Caelorum schreef op donderdag 30 juli 2015 @ 08:21:
Dan nog is het handig om te leren, maar inderdaad niet als eerste platform :)

Dan kan je beter kijken naar webapi met angularjs of asp.nrt mvc of iets dergelijks.
Mwoah wellicht alleen handig als je nog van plan bent oude sitecore sites te onderhouden ;)

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 20:37
raptorix schreef op donderdag 30 juli 2015 @ 14:17:
[...]
Mwoah wellicht alleen handig als je nog van plan bent oude sitecore sites te onderhouden ;)
Want anders kom je geen WebForms tegen? Werk momenteel zowat de hele dag aan WebForms en zie dat niet veranderen in de komende 3 tot 4 jaar, tenzij ik wegga bij deze werkgever.

Acties:
  • 0 Henk 'm!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Caelorum schreef op donderdag 30 juli 2015 @ 14:49:
[...]

Want anders kom je geen WebForms tegen? Werk momenteel zowat de hele dag aan WebForms en zie dat niet veranderen in de komende 3 tot 4 jaar, tenzij ik wegga bij deze werkgever.
Natuurlijk zijn er nog projecten, maar ik zou er zeker geen tijd in gaan steken van: goh wat handig om daar nu kennis van op te doen.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Caelorum schreef op donderdag 30 juli 2015 @ 14:49:
[...]

Want anders kom je geen WebForms tegen? Werk momenteel zowat de hele dag aan WebForms en zie dat niet veranderen in de komende 3 tot 4 jaar, tenzij ik wegga bij deze werkgever.
Dat is dus wat ik bedoel met een werkgever die je af kunt schrijven omdat deze niet met de tijd mee gaat. Vastgetekend zitten aan onderhoud aan legacy projecten betekent in het ergste geval een dood eind aan je persoonlijke groei en indirect aan je carriëre-kansen.

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 20:37
R4gnax schreef op donderdag 30 juli 2015 @ 21:09:
[...]Dat is dus wat ik bedoel met een werkgever die je af kunt schrijven omdat deze niet met de tijd mee gaat. Vastgetekend zitten aan onderhoud aan legacy projecten betekent in het ergste geval een dood eind aan je persoonlijke groei en indirect aan je carriëre-kansen.
Dan heb je een verkeerd beeld. We doen genoeg projecten ernaast met 'moderne' tech, alleen waar het geld voornamelijk mee wordt verdient is een project welke nog steeds constant in ontwikkeling is. Dat kan je afdoen als legacy, maar het is echt niet zo zwart-wit. Het leren van WebForms kan nog steeds erg nuttig zijn, maar zoals al eerder aangegeven is het ook niet mijn eerste keus. Dat is iets wat je eventueel later nog zou kunnen doen.

Acties:
  • 0 Henk 'm!

  • HansvDr
  • Registratie: Augustus 2009
  • Niet online
Gebruik i.p.v.

code:
1
2
3
if (hik.Text != null)
{
}


eens:
code:
1
2
3
if (!String.IsNullOrEmpty(hik.Text))
{
}
Pagina: 1