ASPX页面从上次会话加载数据

时间:2013-04-23 21:55:05

标签: asp.net loading

我正在使用ASP.net前端创建一个C#应用程序,但是我现在遇到了问题。我希望用户输入一些信息,一旦提交,将显示在页面上的列表框中,工作正常。但是,一旦我关闭页面,停止调试程序并再次运行 - 信息仍然显示但我希望它开始空白。在这里,如果ASPX页面,我认为如果导致问题,它让我疯了。

public partial class CarBootSaleForm : System.Web.UI.Page, ISaleManagerUI
{
    private SaleList saleList; 

    protected void Page_Load(object sender, EventArgs e)
    {

        if (IsPostBack && Application["SaleList"] != null)
        {
            LoadData();
        }
        else
        {
            saleList = (SaleList)Application["SaleList"];
        }

        if (saleList != null)
        {
            UpdateListbox();
        }

    }

    private void UpdateListbox()
    {
        lstSales.Items.Clear();

        if (saleList != null)
        {
            for (int i = 0; i < saleList.Count(); i++)
            {
                lstSales.Items.Add(new ListItem(saleList.getSale(i).ToString()));
            }
        }
    }

    protected void btnAdd_Click(object sender, EventArgs e)
    {
        Application.Lock();
        Application["SaleList"] = saleList;
        Application.UnLock();

        Response.Redirect("AddSaleForm.aspx");
    }

}

忘记页面加载中的LoadData(),因为它实际上并未加载任何内容:)

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

除非重新启动Web服务器,否则不会刷新存储在Application状态中的变量,因此如果使用IIS,则需要使用iisreset命令(在命令行上),或者需要停止ASP.NET每次调试会话结束后,Web服务器(使用托盘图标)。

答案 1 :(得分:0)

如果不是回发,则可以添加 Session.Abandon();在Page_load中的else块中。

杀戮会议:

How to Kill A Session or Session ID (ASP.NET/C#)