我正在使用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()
,因为它实际上并未加载任何内容:)
非常感谢任何帮助!
答案 0 :(得分:1)
除非重新启动Web服务器,否则不会刷新存储在Application状态中的变量,因此如果使用IIS,则需要使用iisreset命令(在命令行上),或者需要停止ASP.NET每次调试会话结束后,Web服务器(使用托盘图标)。
答案 1 :(得分:0)
如果不是回发,则可以添加 Session.Abandon();在Page_load中的else块中。
杀戮会议: