這是我寫的一段代碼。我遇到的問題是: 當我點擊gridview中的一個按鈕「rowcommand」將項目添加到工作正常的數組列表。 用戶點擊按鈕後,頁面再次加載,它會繼續「rowcommand」再次!結果將相同的值添加到數組列表。pageload in c#
這是關於回發的東西嗎?如果這是我不認爲我已經清楚足夠清楚!這裏似乎有什麼錯誤?
//編輯2:整個代碼塊
public partial class Action_k : System.Web.UI.Page
{
ArrayList array;
ArrayList tmpArrayList = new ArrayList();
string itemIDs = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
if (Session["username"] == null)
{
Session["anonuser"] = "anon";
Label1.Text = "";
userLabel.Text = "";
ImageButton1.ImageUrl = "~/images/logink.gif";
ImageButton1.PostBackUrl = "~/Login_k.aspx";
}
else
{
userLabel.Text = Session["username"].ToString();
Label1.Text = "Your logged in as: ";
ImageButton1.ImageUrl = "~/images/logoutk.gif";
}
if (Session["array"] == null)
{
array = new ArrayList();
Session.Add("array", array);
}
}
array = Session["array"] as ArrayList;
}
public void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "AddToCart")
{
int index = Convert.ToInt32(e.CommandArgument);
string items = GridView2.DataKeys[index].Value.ToString();
array.Add(items);
Response.Redirect("ShoppingCart_k.aspx?itemID=" + items);
}
}
}
感謝,
在代碼中有很多失敗,經典的糟糕的webforms代碼。我真的建議你看看通過會話傳遞參數和替代webforms的替代方案 – 2009-05-21 18:34:48