使用会话来查看用户的订单 [英] Ues the Session to see what the user have order
问题描述
嗨
这张桌子上有一个文本框和一些水果。如果用户订购:
2苹果
2香蕉
2桃子
1菠萝
然后他们点击按钮更新,然后关闭此面板,然后出现一个新面板并说:
这个你有订单:(如何在会话中保存这个)
2苹果
2香蕉
2桃子
1菠萝
请插入你的地址并点击发送按钮。
这就是我一直在尝试的:
Hi
I have this table with a textbox and some fruits. If the user is order:
2 apple
2 bananas
2 peach
1 pineapple
And then they click on a button Update and then this panel close and a new panel come up and say:
This have you been order: (How do I save this in the session)
2 apple
2 bananas
2 peach
1 pineapple
Please insert your adress and click the send button.
This is what I am been trying:
<asp:Panel ID="Panel_visfrugt" runat="server">
<table border="1">
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [frugt]"></asp:SqlDataSource>
<tr>
<td>Antal</td>
<td><asp:Label ID="Label1" runat="server" Text=""></asp:Label></td>
</tr>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<tr>
<td><%#Eval("frugt_navn") %></td>
<td><asp:TextBox ID="txtbox1" runat="server" Width="30"></asp:TextBox></td>
<asp:HiddenField ID="HiddenField1" runat="server" />
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<asp:Button ID="Button1" runat="server" Text="Læg i kurv" OnClick="Button1_Click1" />
</asp:Panel>
<asp:Panel ID="Panel_vis" runat="server" >
<h4>De har nu lagt disse ting i kurven</h4>
<%-- <asp:Repeater ID="Repeater3" runat="server">
<ItemTemplate>--%>
<%#Eval("frugt_navn") %>
<asp:Label ID="Label_vis" runat="server" Text="Label"></asp:Label>
<%-- </ItemTemplate>
</asp:Repeater>--%>
</asp:Panel>
<asp:Button ID="Button2" runat="server" Text="slet session" OnClick="Button2_Click" />
private int Value = 0;
protected void Page_Load(object sender, EventArgs e)
{
Panel_visfrugt.Visible = true;
Panel_vis.Visible = false;
}
protected void Button1_Click1(object sender, EventArgs e)
{
foreach (RepeaterItem item in Repeater1.Items)
{
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
TextBox Textbox_antal = item.FindControl("txtbox1") as TextBox;
// opret forbindelsen til databasen
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
// opret et SqlCommand object
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
//Sql sætningen
cmd.CommandText = "SELECT * FROM frugt WHERE frugt_id = @frugt_id" ;
cmd.Parameters.Add("@frugt_id", SqlDbType.VarChar).Value = Textbox_antal.Text;
// åben forbindelsen til databasen
conn.Open();
// opret en SqlDataReader og navngiv den "reader"
SqlDataReader reader = cmd.ExecuteReader();
// hvis brugeren findes i databasen - hvis der er noget i "reader"
if (reader.Read())
{
// opret din session som er "beviset" på at du er logget ind
Session["frugt_navn"] = reader["frugt_id"].ToString();
}
if (Textbox_antal != null)
{
if (string.IsNullOrEmpty(Textbox_antal.Text))
{
Textbox_antal.Text = "0";
}
}
Value = Convert.ToInt32(Value + int.Parse(Textbox_antal.Text));
//Session["frugt_antal"] = Value;
if (Value != 7)
{
Label1.Text = "Der er 7 nu";
Panel_visfrugt.Visible = false;
Panel_vis.Visible = true;
}
else if (Value > 7)
{
Label1.Text = "Det er kun muligt at bestille 7 stk frugt";
}
}
}
//Label_vis.Text = Convert.ToString(Session["frugt"]);
Label_vis.Text = Convert.ToString(Session["frugt_navn"]);
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect("Default.aspx");
}
/ Tina
/Tina
推荐答案
ConnectionStrings:ConnectionString %> SelectCommand = SELECT * FROM [frugt] > < / asp:SqlDataSource >
< tr>
< td> Antal < / td >
< td>< asp:Label ID = Label1 runat = server Text = > < / asp:La bel > < / td >
< / tr >
< asp:Repeater ID = Repeater1 runat = server DataSourceID = SqlDataSource1 OnItemCommand = Repeater1_ItemCommand >
< ItemTemplate>
< tr>
< td><%#Eval( frugt_navn)%> < / td >
< td>< asp:TextBox ID = txtbox1 runat = server Width = 30 > < ; / asp:TextBox > < ; / td >
< asp:HiddenField ID = HiddenField1 runat = server />
< / tr >
< / ItemTemplate >
< / asp:Repeater >
< / table >
< asp:按钮ID = Button1 runat = server Text = < span class =code-string> Lægikurv OnClick = < span class =code-string> Button1_Click1 />
< / asp:Panel >
< asp:Panel ID = Panel_vis runat = server >
< h4> De har nu lagt disse ting i kurven < / h4 >
<% - < asp:Repeater ID = Repeater3 runat = server >
< ItemTemplate> - %>
<%#Eval( frugt_navn )%>
< asp:Label ID = Label_vis runat = server Text = 标签 > < / asp:标签 >
<% - < / ItemTemplate >
< / asp:Repeater < span class =code-keyword>> - %>
< / asp:面板 >
< asp:按钮ID = Button2 runat = server Text = slet session OnClick = Button2_Click />
ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [frugt]"></asp:SqlDataSource> <tr> <td>Antal</td> <td><asp:Label ID="Label1" runat="server" Text=""></asp:Label></td> </tr> <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="Repeater1_ItemCommand"> <ItemTemplate> <tr> <td><%#Eval("frugt_navn") %></td> <td><asp:TextBox ID="txtbox1" runat="server" Width="30"></asp:TextBox></td> <asp:HiddenField ID="HiddenField1" runat="server" /> </tr> </ItemTemplate> </asp:Repeater> </table> <asp:Button ID="Button1" runat="server" Text="Læg i kurv" OnClick="Button1_Click1" /> </asp:Panel> <asp:Panel ID="Panel_vis" runat="server" > <h4>De har nu lagt disse ting i kurven</h4> <%-- <asp:Repeater ID="Repeater3" runat="server"> <ItemTemplate>--%> <%#Eval("frugt_navn") %> <asp:Label ID="Label_vis" runat="server" Text="Label"></asp:Label> <%-- </ItemTemplate> </asp:Repeater>--%> </asp:Panel> <asp:Button ID="Button2" runat="server" Text="slet session" OnClick="Button2_Click" />
private int Value = 0;
protected void Page_Load(object sender, EventArgs e)
{
Panel_visfrugt.Visible = true;
Panel_vis.Visible = false;
}
protected void Button1_Click1(object sender, EventArgs e)
{
foreach (RepeaterItem item in Repeater1.Items)
{
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
TextBox Textbox_antal = item.FindControl("txtbox1") as TextBox;
// opret forbindelsen til databasen
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
// opret et SqlCommand object
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
//Sql sætningen
cmd.CommandText = "SELECT * FROM frugt WHERE frugt_id = @frugt_id" ;
cmd.Parameters.Add("@frugt_id", SqlDbType.VarChar).Value = Textbox_antal.Text;
// åben forbindelsen til databasen
conn.Open();
// opret en SqlDataReader og navngiv den "reader"
SqlDataReader reader = cmd.ExecuteReader();
// hvis brugeren findes i databasen - hvis der er noget i "reader"
if (reader.Read())
{
// opret din session som er "beviset" på at du er logget ind
Session["frugt_navn"] = reader["frugt_id"].ToString();
}
if (Textbox_antal != null)
{
if (string.IsNullOrEmpty(Textbox_antal.Text))
{
Textbox_antal.Text = "0";
}
}
Value = Convert.ToInt32(Value + int.Parse(Textbox_antal.Text));
//Session["frugt_antal"] = Value;
if (Value != 7)
{
Label1.Text = "Der er 7 nu";
Panel_visfrugt.Visible = false;
Panel_vis.Visible = true;
}
else if (Value > 7)
{
Label1.Text = "Det er kun muligt at bestille 7 stk frugt";
}
}
}
//Label_vis.Text = Convert.ToString(Session["frugt"]);
Label_vis.Text = Convert.ToString(Session["frugt_navn"]);
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect("Default.aspx");
}
/ Tina
/Tina
您正在使用
Session["frugt_navn"]
所以这似乎不是问题:-)
我不相信你可以在aspx页面重用这个会话数据(无论如何,我不知道该怎么做)。试试这个:
So that doesn't seem to be the problem :-)
I do not believe you can reuse this session data in the aspx page (anyway, I don't know how to do that). Try this:
private int Value = 0;
private string frugt_navn;
protected void Page_Load(object sender, EventArgs e)
{
Panel_visfrugt.Visible = true;
Panel_vis.Visible = false;
frugt_navn = (string)Session["frugt_navn"];
}
在Page_Load中执行此操作后,您可以使用全局变量的值。也应该可以在你的aspx中使用这个变量(之前我已经这样做了),但我现在找不到一个例子。我记得你至少应该把它公之于众。
After doing this in the Page_Load you can use the value of the global variable. It should also be possible to use this variable (I've done that before) in your aspx but I cannot find an example right now. I remember you should at least make it public then.
这篇关于使用会话来查看用户的订单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!