String waarde in asp.net C# meerdere malen gebruiken

Status
Niet open voor verdere reacties.

snelledre

Gebruiker
Lid geworden
1 dec 2013
Berichten
40
Ik ben bezig om een C# programma om te zetten in een ASP.net C#.
Nu heb ik een public of een private string aangemaakt die gevuld wordt doormiddel van het drukken op een drukknop.
Deze wordt ook gevuld.
Maar als ik deze weer wil opvragen in een qr-code of tijdens een print is de string null.
In C# werkt dit perfect, hieronder een gedeelte van de code.
Wat mis ik of wat doe ik verkeerd?

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Configuration;
using System.Text;
using STROKESCRIBECLSLib;

namespace RejectWebApplication
{
    public partial class WebFormReject : System.Web.UI.Page
    {
        public string afvaltuitval;
        public string productielijn;
        public string productieplaats;
        public string vervuiling;

      
        public void Button_Herverwerking_Click(object sender, EventArgs e)
        {
            Button_Herverwerking.BackColor = Color.Yellow;
            Button_Diervoederkoek.BackColor = default(Color);
            Button_Diervoederdeeg.BackColor = default(Color);
            Button_Cremeuitval.BackColor = default(Color);
            Button_Restafval.BackColor = default(Color);
            Button_Uitpakwerk.BackColor = default(Color);
            afvaltuitval = "Herverwerking";
            Tekstbox_datetime();
        }

        public void Button_Diervoederkoek_Click(object sender, EventArgs e)
        {
            Button_Herverwerking.BackColor = default(Color);
            Button_Diervoederkoek.BackColor = Color.Yellow;
            Button_Diervoederdeeg.BackColor = default(Color);
            Button_Cremeuitval.BackColor = default(Color);
            Button_Restafval.BackColor = default(Color);
            Button_Uitpakwerk.BackColor = default(Color);
            afvaltuitval = "Diervoeder koek";
            Tekstbox_datetime();
        }

        public void Button_Diervoederdeeg_Click(object sender, EventArgs e)
        {
            Button_Herverwerking.BackColor = default(Color);
            Button_Diervoederkoek.BackColor = default(Color);
            Button_Diervoederdeeg.BackColor = Color.Yellow;
            Button_Cremeuitval.BackColor = default(Color);
            Button_Restafval.BackColor = default(Color);
            Button_Uitpakwerk.BackColor = default(Color);
            afvaltuitval = "Diervoeder deeg";
            Tekstbox_datetime();
        }

        public void Button_Cremeuitval_Click(object sender, EventArgs e)
        {
            Button_Herverwerking.BackColor = default(Color);
            Button_Diervoederkoek.BackColor = default(Color);
            Button_Diervoederdeeg.BackColor = default(Color);
            Button_Cremeuitval.BackColor = Color.Yellow;
            Button_Restafval.BackColor = default(Color);
            Button_Uitpakwerk.BackColor = default(Color);
            afvaltuitval = "Creme uitval";
            Tekstbox_datetime();
        }

        public void Button_Restafval_Click(object sender, EventArgs e)
        {
            Button_Herverwerking.BackColor = default(Color);
            Button_Diervoederkoek.BackColor = default(Color);
            Button_Diervoederdeeg.BackColor = default(Color);
            Button_Cremeuitval.BackColor = default(Color);
            Button_Restafval.BackColor = Color.Yellow;
            Button_Uitpakwerk.BackColor = default(Color);
            afvaltuitval = "Restafval";
            Tekstbox_datetime();
        }

        public void Button_Uitpakwerk_Click(object sender, EventArgs e)
        {
            Button_Herverwerking.BackColor = default(Color);
            Button_Diervoederkoek.BackColor = default(Color);
            Button_Diervoederdeeg.BackColor = default(Color);
            Button_Cremeuitval.BackColor = default(Color);
            Button_Restafval.BackColor = default(Color);
            Button_Uitpakwerk.BackColor = Color.Yellow;
            afvaltuitval = "Uitpakwerk";
            Tekstbox_datetime();
        }

        private int qrcode()
        {
            StrokeScribeClass ss;
            ss = new StrokeScribeClass();
            ss.Alphabet = enumAlphabet.QRCODE;
            ss.QrECL = enumQR_ECL.M;
            ss.QrMinVersion = 10;
            ss.ProcessTilde = true;
            ss.ECI = 0;
            ss.UTF8 = false;
            ss.Text = idnummer + ";" + afvaltuitval + ";" + productielijn + ";" + productieplaats + ";" + vervuiling + ";" + TextBox_Datum.Text;
            //int w = ss.BitmapW;
            //int h = ss.BitmapH;
            //ss.SavePicture("qr-code.bmp", enumFormats.BMP, w * 2, h * 2);
            int rc = ss.SavePicture(@"c:\Dymo\qr-code.png", enumFormats.PNG, 300, 300);
            if (rc != 0)
            {
                Label_Status.Text = (ss.ErrorDescription);
                return 1;
            }
            return 0;
        }

        private int dymo()
        {
            try
            {
                var label = DYMO.Label.Framework.Label.Open(@"c:\Dymo\Uitvalafvalregistratie.label");
                label.SetObjectText("tekst1", afvaltuitval);
                label.SetObjectText("tekst2", productielijn);
                label.SetObjectText("tekst3", productieplaats);
                label.SetObjectText("tekst4", "100Kg");
                label.SetObjectText("tekst5", vervuiling);
                label.SetObjectText("tekst6", datumtijd);
                label.SetObjectText("tekst7", TextBox_Datum.Text);
                label.SetObjectText("tekst8", "");
                label.SetImageUri("afbeelding", @"c:\Dymo\qr-code.png");
                label.Print("DYMO LabelWriter 450");
            }
            catch (Exception)
            {
                Label_Status.Text = "Printer niet gevonden ! ";
                return 1;
            }
            return 0;
        }

        }

        
    }
}
 
Als ik bijvoorbeeld de string naar een testbox schrijf werkt wel alles naar behoren.
Dus het zit echt in de manier declareren, invullen en opvragen van de string.
 
Ik heb het inmiddels nu gevonden na veel zoeken en proberen.
Kort gezegd "the web is stateless" dus je moet het onderstaande gebruiken.
Voor schrijven: ViewState["yourKey"] = "data";
Voor lezen:string str = ViewState["yourKey"] as string;

Of een "session gebruiken"

Zie:

Web is stateless. You need to maintain state of your web page yourself. There are many ways to do that, like ViewState and Session. You can store your string value in ViewState (which is maintained at page level) or in a Session which is maintained per user on server.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan