Erstellen Sie eine neue Seite image.aspx und fügen Sie den Namespace hinzu:
using System.Drawing.Imaging;
using System.IO;
Kopieren Sie dann den folgenden Code in das Page_load-Ereignis:
//Generieren Sie einen 4-stelligen Bestätigungscode
string tmp = RndNum(4);
HttpCookie a = new HttpCookie("ImageV",tmp);
Response.Cookies.Add(a);
this.ValidateCode(tmp);
Als nächstes fügen Sie der Seite zwei Methoden hinzu:
private void ValidateCode(string VNum)
{
Bitmap Img=null;
Grafiken g=null;
MemoryStream ms=null;
int gheight=VNum.Length*12;
Img=new Bitmap(gheight,25);
g=Graphics.FromImage(Img);
//Hintergrundfarbe
g.Klar (Farbe.Weiß);
//Textschriftart
Schriftart f=new Font("Arial Black",10);
//Textfarbe
SolidBrush s=new SolidBrush(Color.Black);
g.DrawString(VNum,f,s,3,3);
ms=new MemoryStream();
Img.Save(ms,ImageFormat.Jpeg);
Response.ClearContent();
Response.ContentType="image/Jpeg";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
Img.Dispose();
Response.End();
}
privater String RndNum(int VcodeNum)
{
string Vchar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m, n,o,p"+
„,q,r,s,t,u,v,w,x,y,z“;
string[] VcArray=Vchar.Split(new Char [] {','});
string VNum="";
int temp=-1;
Random rand=new Random();
for(int i=1;i<VcodeNum+1;i++)
{
if(temp!=-1)
{
rand=new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
}
int t=rand.Next(35);
if(temp!=-1&&temp==t)
{
return RndNum(VcodeNum);
}
temp=t;
VNum+=VcArray[t];
}
return VNum;
}
Wenn Sie einen Bestätigungscode auf der Seite a.aspx generieren möchten, fügen Sie der Seite ein Bildsteuerelement hinzu, vorausgesetzt, es heißt ImageButton1, und schreiben Sie dann den folgenden Code in das page_Load-Ereignis:
ImageButton1.ImageUrl = "image.aspx" ;
Auf diese Weise können Sie den Bestätigungscode generieren, der überall platziert werden kann. Beachten Sie jedoch, dass ImageButton1.ImageUrl korrekt geschrieben werden muss. Die gleiche Ebene kann image.aspx schreiben Schreiben Sie ../image.aspx. Es ist sehr praktisch.