cookie 在girdview 中读取出来

zhangcoki 2009-12-23 03:06:41
写了一个 问题调查 想让答案显示在gridview ,于是我将Cookie制作出来了,
下面就是我写的 有些粗糙, 下面的问题是 如何让值读取到 GridView1.Rows[sz].Cells[1].Text 中。
我用c#写的 数据库是ACCESS asp.net2008 比较急 在线等····大家帮忙救火啊 ···





int[] aq = new int[10];
for (int sz = 1; sz <=5; sz++)
{
if (Label2.Text == sz.ToString())
{
HttpCookie cookie = new HttpCookie(aq[sz].ToString());

if (RadioButton1.Checked == true) { cookie.Value = "A"; }
if (RadioButton2.Checked == true) { cookie.Value = "B"; }
if (RadioButton3.Checked == true) { cookie.Value = "C"; }
if (RadioButton4.Checked == true) { cookie.Value = "D"; }
if (RadioButton5.Checked == true) { cookie.Value = "E"; }
cookie.Expires = DateTime.Now.AddMinutes(20);
Response.Cookies.Add(cookie);
...全文
125 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangcoki 2009-12-25
  • 打赏
  • 举报
回复
求一个 COOKIE 的 数组 例子!!!最好是关于 赋值的那种····
zhangcoki 2009-12-25
  • 打赏
  • 举报
回复
现在还有一个问题是 值是读取出来了··可是为什么每次读取的时候 都是 同一个答案呢··
答案的内容 ID=1时: 选了A 然后 ID=2时 选了B
检查的时候就会变成 ID1=B ; ID2=B
正确的应该是:ID1=A; ID2=B (要的这个效果没有实现,向求教···)

HttpCookieCollection cookies;
cookies = Request.Cookies;
string[] num = new string[5];


//for (int i = 1; i < num; i++)
for (int i = 1; i <= num.Length; i++)
{
HttpCookie abc = new HttpCookie("num"+i.ToString ());
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0); //过期时间为1分钟
abc.Expires = dt.Add(ts);
if (RadioButton1.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "A"); }
if (RadioButton2.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "B"); }
if (RadioButton3.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "C"); }
if (RadioButton4.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "D"); }
if (RadioButton5.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "E"); }
Response.Cookies.Add(abc);

HttpCookie ba = Request.Cookies["num" + i.ToString()];
}
for (int a = 1; a <= Convert.ToInt32(Label2.Text); a++)
{
Response.Write(Request.Cookies["num"+a.ToString()].Value);
}
zhangcoki 2009-12-23
  • 打赏
  • 举报
回复
radio就5个··不用 数组是无法改变的····
GoldKi 2009-12-23
  • 打赏
  • 举报
回复
radio是不是固定有几个啊,Gridview的行数也固定吗
GoldKi 2009-12-23
  • 打赏
  • 举报
回复
HttpCookie [] cookies = new HttpCookie[5]; 干嘛不这样声明一个数组啊
zhangcoki 2009-12-23
  • 打赏
  • 举报
回复
失败 ···识别不了 ··能给个COOKIE数组的例子吗
GoldKi 2009-12-23
  • 打赏
  • 举报
回复
你在外面放一个数组啊,把数组放到cookie里
zhangcoki 2009-12-23
  • 打赏
  • 举报
回复
这个 跟 GridView1.Rows[sz].Cells[1].Text 意思是一样的 ··
谁能告诉我 如何用 数组做 COOKIE
如果成功的话 那应该可以解决 这个问题了····
HttpCookie cookie[sz] = new HttpCookie(aq[sz].ToString());

但是这样写 系统又识别不了···报错··无效的表达项“=”跟 “;” 这个部分[sz] = 标注起来....
GoldKi 2009-12-23
  • 打赏
  • 举报
回复
在RowDataBound 中写

查找到那列的 TextBox, 然后给它设值就好了
zhangcoki 2009-12-23
  • 打赏
  • 举报
回复
再顶下,各位救急 呀 。。。。。。在线等。。。。。。
特别说明请注意: 根许多网友反应, using Maticsoft.Functions; 这些代码看不懂 其实Functions 这个dll是我定义常用的函数类,如果需要跟我联系索取http://sql8.net 下面有我的群号, 其 ArtsShop.Model.Arts_Product _p = new ArtsShop.Model.Arts_Product(); ArtsShop.BLL.Arts_Product p = new ArtsShop.BLL.Arts_Product(); _p = p.GetModel(id); 这是我的商品信息的类,三层结构,这个在用时你们只能换成你们自己的,这些代码完全可以删除, 比如 MyDr[1] = _p.Title; 用来读取商品名的,你们可以改MyDr[1] = dr["productname"].ToString();就行了, AddToCart.aspx页面代码 无标题页 保存 取消 编辑 继续购物 清空购物车 下订单 AddToCart.aspx.cs页面代码 using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Maticsoft.Functions;public partial class AddToCart : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { int ProID; HttpCookie cookie; bool Tempbl = false; string Tempstr; if (!Page.IsPostBack) { if (!object.Equals(Request.QueryString["id"], null)) { ProID = int.Parse(Request.QueryString["id"]); //创购物车cookie yxy .//sql8.net if (object.Equals(Request.Cookies["ztbscart"], null)) cookie = new HttpCookie("ztbscart"); else cookie = Request.Cookies["ztbscart"]; //判断是否已存在于购物车内 yxy // sql8.net for (int i = 0; i < cookie.Values.Keys.Count; i++) { if (!object.Equals(cookie.Values.Keys[i], null)) { Tempstr = cookie.Values.AllKeys[i].ToString(); if (Tempstr.Trim() != "") { if (ProID == int.Parse(cookie.Values.AllKeys[i])) { Tempbl = true; break; } } } } //不未购买过则加入购物车 yxy //sql8.net if (!Tempbl) cookie.Values.Add(ProID.ToString(), "1"); else { } TimeSpan ts = new TimeSpan(0, 0, 10, 0); cookie.Expires = DateTime.Now + ts; Response.AppendCookie(cookie); } BindGrid(); } } //绑定数据 yxy //sql8.net private void BindGrid() { DataTable MyDt; DataRow MyDr; string str = ""; MyDt = new DataTable(); MyDt.Columns.Add(new DataColumn("id", str.GetType())); MyDt.Columns.Add(new DataColumn("Title", str.GetType())); MyDt.Columns.Add(new DataColumn("Num", str.GetType())); MyDt.Columns.Add(new DataColumn("Price", str.GetType())); MyDt.Columns.Add(new DataColumn("Discount", str.GetType())); MyDt.Columns.Add(new DataColumn("Vipprice", str.GetType())); MyDt.Columns.Add(new DataColumn("Totle", str.GetType())); if (!object.Equals(Request.Cookies["ztbscart"], null)) { HttpCookie cookie = Request.Cookies["ztbscart"]; double Totle; //Response.Write("|" + Request.Cookies["ztbscart"].Values.Keys[1].ToString() + "|"); //Response.End(); for (int i = 0; i < cookie.Values.Keys.Count; i++) { int id; MyDr = MyDt.NewRow(); if (cookie.Values.AllKeys[i] != "" && cookie.Values[i] != "") { id = int.Parse(cookie.Values.AllKeys[i].ToString()); ArtsShop.Model.Arts_Product _p = new ArtsShop.Model.Arts_Product(); ArtsShop.BLL.Arts_Product p = new ArtsShop.BLL.Arts_Product(); _p = p.GetModel(id); MyDr[0] = id; MyDr[1] = _p.Title; MyDr[2] = cookie.Values[i]; MyDr[3] = _p.Price; MyDr[4] = _p.Discount; MyDr[5] = _p.Vipprice1; Totle = double.Parse(MyDr[2].ToString()) * double.Parse(MyDr[5].ToString()); MyDr[6] = Totle; MyDt.Rows.Add(MyDr); } } GridView1.DataSource = MyDt.DefaultView; GridView1.DataBind(); } } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { //编辑某行数量 yxy //sql8.net GridView1.EditIndex = e.NewEditIndex; BindGrid(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { //取消更新 yxy //sql8.net GridView1.EditIndex = -1; BindGrid(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //更新数量 yxy //sql8.net string num; TextBox tempbx = new TextBox(); Label templb = new Label(); tempbx = (TextBox)(GridView1.Rows[e.RowIndex].Cells[6]).Controls[1]; num = tempbx.Text.ToString(); HttpCookie cookie = new HttpCookie("ztbscart"); for (int i = 0; i < GridView1.Rows.Count; i++) { string id; string tempnum; id = GridView1.Rows[i].Cells[1].Text.ToString(); if (e.RowIndex == i) tempnum = num; else { templb = (Label)(GridView1.Rows[i].Cells[6]).Controls[1]; tempnum = templb.Text.ToString(); } if (tempnum.Trim() == "") tempnum = "0"; //Response.Write("ID:"+id.ToString() + "Num:"+tempnum+":"+i+"");//测试用途 yxy//sql8.net cookie.Values.Add(id, tempnum); } //Response.End(); TimeSpan ts = new TimeSpan(0, 0, 10, 0); cookie.Expires = DateTime.Now + ts; Response.AppendCookie(cookie); GridView1.EditIndex = -1; Message.GoTo("AddToCart.aspx"); } protected void LinkButton4_Click(object sender, EventArgs e) { //继续购物 yxy //sql8.net Message.WebClose(); } protected void LinkButton3_Click(object sender, EventArgs e) { //清空购物车 yxy //sql8.net CheckBox tempcb = new CheckBox(); HttpCookie cookie = new HttpCookie("ztbscart"); Label templb = new Label(); for (int i = 0; i < GridView1.Rows.Count; i++) { tempcb = (CheckBox)(GridView1.Rows[i].Cells[0]).Controls[1]; if (!tempcb.Checked) { string id; string tempnum; id = GridView1.Rows[i].Cells[1].Text.ToString(); templb = (Label)(GridView1.Rows[i].Cells[6]).Controls[1]; tempnum = templb.Text.ToString(); if (tempnum.Trim() == "") tempnum = "0"; //Response.Write("ID:"+id.ToString() + "Num:"+tempnum+":"+i+"");//测试用途 yxy//sql8.net cookie.Values.Add(id, tempnum); } } TimeSpan ts = new TimeSpan(0, 0, 10, 0); cookie.Expires = DateTime.Now + ts; Response.AppendCookie(cookie); Message.GoTo("AddToCart.aspx"); } protected void CheckAll_CheckedChanged(object sender, EventArgs e) { //全选事件 yxy //sql8.net CheckBox tempcb = new CheckBox(); bool tempbl; tempcb = (CheckBox)(GridView1.HeaderRow.Cells[0]).Controls[1]; tempbl = tempcb.Checked; for (int i = 0; i < GridView1.Rows.Count; i++) { tempcb = (CheckBox)(GridView1.Rows[i].Cells[0]).Controls[1]; tempcb.Checked = tempbl; } } } _________________________________________________________________________ 如转载请注明原出处 www.sql8.net

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧