我在asp.net中更环保,并试图实现一个用例,该用例描述了用户最近在线电影预订系统中选择和预订座位的过程。
现在我创建了大量的座位控件,基于ImageButton定义的Web用户控件和“提交”按钮。
这些座椅控制似乎运作良好。当您点击图片时,图片反映的座位状态会发生变化。在“提交”按钮的点击事件中,我尝试用他们的ID收集他们的状态,但这些状态都与数据库中的状态相同,这意味着这些控件的状态没有改变。
那么,当我点击“提交”按钮时,我该怎么做才能获得这些控件的当前状态?任何想法都会欣赏!
Seat.ascx
$(".controls li").click(function (e) {
// or $(e.currentTarget)
$(this).siblings().removeClass("selected");
$(this).addClass("selected");
color = $(this).css("background-color");
});
ChooseSeat.aspx
public partial class Seat : System.Web.UI.UserControl
{
private string[] Images = { "~/picture/SeatStatus/Default.png", "~/picture/SeatStatus/Chosen.png", "~/picture/SeatStatus/Unavailable.png" };
public string ImageLoc
{
get
{
return this.SeatControl.ImageUrl;
}
set
{
this.SeatControl.ImageUrl = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
if (ImageLoc == Images[0])
{
ImageLoc = Images[1];//switch to chosen state
}
else if (ImageLoc == Images[1] )
{
ImageLoc = Images[0]; //switch to available state
}
else
{
//Can not be chosen
}
}
}
CreateControl
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Table ID="SeatTable" runat="server">
</asp:Table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div>
<asp:Button ID="Button1" runat="server" text="Submit" OnClick="Unnamed_Click" />
</div>