ASP.Net C#在浏览器上销毁表单会话

时间:2016-03-22 04:51:42

标签: c# asp.net session captcha

嘿伙计们我的表格还好吗?当我提交它时,一切都很酷,但当我点击浏览器上的后退按钮时,表单已完成我之前的凭据。最重要的是我使用来自aspx文件及其类文件的captcha会话。即使我每次刷新页面时,验证码文本字段都变空,但会话保持不变。我该怎么办? 这是验证码的ASPX文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Captcha.aspx.cs" Inherits="Captcha" %>

这是CS的文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SRVTextToImage;
using System.Drawing;
using System.Drawing.Imaging;

public partial class Captcha : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        CaptchaRandomImage CI = new CaptchaRandomImage();
        string captchaText = CI.GetRandomString(6);
        Session["captchaText"] = captchaText;
        CI.GenerateImage(captchaText, 100, 38, Color.DarkRed, Color.LightGray);
        this.Response.Clear();
        this.Response.ContentType = "image/jpeg";
        CI.Image.Save(this.Response.OutputStream, ImageFormat.Jpeg);
        CI.Dispose();
    }
}

1 个答案:

答案 0 :(得分:0)

我想你想清除浏览器上的文本框? 来自http://forums.asp.net/t/1445431.aspx?Browser+back+button+not+clear+the+form

您可以使用脚本清除页面加载时的文本框,也可以

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now);

这样就不会在浏览器上从缓存中获取页面。