C# 如何在asp.net中使用C在用户单击按钮后禁用该按钮

C# 如何在asp.net中使用C在用户单击按钮后禁用该按钮,c#,asp.net,C#,Asp.net,我目前正在创建一个座位预订系统。在我的系统中,如果用户选择座位1并继续到最后,当系统再次返回时,我有一个按钮链接到最后一页的第一页,座位1应该被禁用,并且不能被选择。但不知何故,我的代码仍然允许它选择。为什么呢 我正在使用以下代码: if (seat1 == "Reserved") { ImageButton1.ImageUrl = "seatreserved.png"; ImageButton1.Enabled = false; } 图像确实发

我目前正在创建一个座位预订系统。在我的系统中,如果用户选择座位1并继续到最后,当系统再次返回时,我有一个按钮链接到最后一页的第一页,座位1应该被禁用,并且不能被选择。但不知何故,我的代码仍然允许它选择。为什么呢

我正在使用以下代码:

if (seat1 == "Reserved")
    {
        ImageButton1.ImageUrl = "seatreserved.png";
        ImageButton1.Enabled = false;
    }
图像确实发生了更改,因此我知道保留的值已成功传递到此页面。但不知何故,ImageButton1.Enabled=false;不起作用。
请帮助,谢谢。

尝试清理项目并再次重建。。若问题仍然存在,那个么尝试添加新控件并再次实现代码。有时候,这种事情发生在.Net框架中

您没有在任何地方保存您的操作状态,至少您没有解释它。当您在应用程序中预订座位时,请将座位的值保存在某个源->db xml或任何您喜欢的格式中。之后,在下一次打开应用程序时,从该源加载保留座位,并使用“禁用”按钮

如果您使用DB,并且您有两张桌子,则为事件和预订座位。当您单击按钮时,您将使用EventID='Event的ID'和座位号在Reserving中插入数据


之后,当您再次进入此事件时,从保留表中加载此事件的数据,并禁用所需内容。

我正在使用会话方法传递保留状态,并将其保存到seat1变量中。@Acetamide会话是浏览器可靠的,当另一个用户进入您的应用程序时,您的会话变量将为空。你应该使用数据库。但是我们的讲师告诉我们不要使用数据库,或者只使用数据库存储客户信息,我应该不使用会话吗?在现实生活中,你不能使用会话进行此操作。若你们的老师想用session来做这个,他可能会告诉你们使用数据库太复杂了,但若你们使用session,这个应用程序将无效并且不能正常工作。如果您在一个浏览器会话中工作,您将不会遇到任何问题,但是如果您预订座位并关闭浏览器,然后再次打开,则预订将不复存在。是的,我也注意到了这一点,但我已经问过我的讲师,他说预订肯定会不复存在,所以我猜他对此没有问题。可能是你的图像按钮卡在了布局中。最好是找到它并启用它。我可以问一下,如何检查它吗?让我们假设ListView中的Image button,然后您需要精确地指向ImageButton控件示例:ImageButton b=ImageButtonListViewID.FindControl YourImageButtonId;b、 可见=假;看起来您应该学习如何编写干净的代码。使用枚举而不是保留字符串。请不要让每辆车都有一个变量。你应该有一个列表,并针对数据库或类似的东西工作。嗯,我是一个初学者,所以我认为我的技能还不具备。我每辆车设置1个变量是因为我必须显示座位表,用户点击按钮图像会发生变化,所以我必须根据我的知识使用不同的变量。。。无论如何,谢谢你的建议@标准具11