如何在asp.net中动态创建大规模控件的状态

时间:2015-05-06 06:03:07

标签: asp.net webusercontrol

我在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>

0 个答案:

没有答案