Jeg er ved at lave billed-validering som fremover skal bruges til egen gæstebog og lignende.
Jeg har en side som skal indeholde billedet. Billedet bliver genereret via en anden side som bliver refereret til via et billede-link.
Mit problem kommer så når den string der er på billedet, skal hentes med tilbage til siden hvor en bruger skal taste den ind, og den selvsagt skal være det samme på billedet.
Når jeg bruger session til det, så er den værdi der står på billedet en gang for sent, så den først kommer i en test-label når jeg opdaterer og værdien således ændres på billedet.
Hvad kan man gøre for at omgå eller undgå det? Skal man behandle det på anden vis?
Siden der forespørger på billede fra imageGrab:
public partial class imageGrab : System.Web.UI.Page
{
public string uniqueID()
{
string idWhole = Convert.ToString(System.Guid.NewGuid());
string[] idWanted = idWhole.Split('-');
string ranPass = idWanted[0];
return ranPass;
}
protected void Page_Load(object sender, EventArgs e)
{
Bitmap bmpValidate = new Bitmap(125, 50);
Graphics gfxValidate = Graphics.FromImage(bmpValidate);
SolidBrush brushValidate = new SolidBrush(Color.Blue);
Font fontValidate = new Font("Verdana", 12);
string txtValidate = uniqueID();
Session["Validation"] = txtValidate;
gfxValidate.Clear(Color.White);
gfxValidate.DrawString(txtValidate, fontValidate, brushValidate, 20, 15);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bmpValidate.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
Response.BinaryWrite(ms.GetBuffer());
}
}
Siden der genererer billedet og den string der skal valideres med:
public partial class imageValidate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
imgValidate.ImageUrl = "imageGrab.aspx";
if (Session["Validation"] == null)
{
lblValidate.Text = "Ingen værdi i session.";
}
else
{
string validate = (string)(Session["Validation"]);
lblValidate.Text = validate;
}
}
}