在asp.net中重新加载浏览器时,如何停止在数组中添加相同的项?

在asp.net中重新加载浏览器时,如何停止在数组中添加相同的项?,asp.net,browser,Asp.net,Browser,在我的ASP.NET项目中,我在查询字符串的帮助下添加了一个新的数组项。添加阵列项目后,我的客户端将重新加载浏览器,。因此,相同的项目添加另一个时间。每次重新加载时都会发生这种情况 但我不想要这个。是否有可能停止此浏览器重新加载或停止同一数组项 我的网址是- 51402/ItemGrid.aspx?id=3035 然后将id=3035项添加到数组中 页面加载事件中的我的代码 string query =""; int array_no; if (

在我的ASP.NET项目中,我在查询字符串的帮助下添加了一个新的数组项。添加阵列项目后,我的客户端将重新加载浏览器,。因此,相同的项目添加另一个时间。每次重新加载时都会发生这种情况

但我不想要这个。是否有可能停止此浏览器重新加载或停止同一数组项

我的网址是-

51402/ItemGrid.aspx?id=3035
然后将
id=3035
项添加到数组中

页面加载事件中的我的代码

string query ="";
            int array_no;
            if (Convert.ToUInt32(GlobalClass.GlobalarrayNo.ToString()) == 0)
            {
                array_no = 0;
                Array.Clear(roomno, 0, roomno.Length);
            }
            else
            {
                array_no = Convert.ToInt32(GlobalClass.GlobalarrayNo.ToString());
            }
            id = Convert.ToInt32(Request.QueryString["id"]);
            if (!Page.IsPostBack)
            {               
                // ******* Happy Status ************

                decimal happyfromtime = 0;
                string happyper="";             
                string happytotime = "";
                query = "SELECT Parameters_Parameter3,Parameters_Parameter2,Parameters_Parameter1,Parameters_Parameter4 FROM MCS_Parameters WHERE Parameters_TYPE ='HAPHOU'";
                MySqlConnection connection = new MySqlConnection(GlobalClass.GlobalConnString.ToString());
                MySqlCommand command = new MySqlCommand(query, connection);
                connection.Open();
                MySqlDataReader Reader = command.ExecuteReader();
                while (Reader.Read())
                {
                    happyfromtime= Convert.ToDecimal(Reader[0].ToString());
                    happyper=Reader[1].ToString();
                    happystatus= Convert.ToInt32(Reader[2].ToString());
                    happytotime = Reader[3].ToString();
                }
                connection.Close();

                string t = GlobalClass.GlobalserverTime.ToString();
                t= t.Substring(0,5);
                t = t.Replace(":",".");

                //ALLTRIM(CurCate.Fb_Item_Creation_HappyhoursStatus)='Yes'
                if ((Convert.ToDecimal(t) > Convert.ToDecimal(happyfromtime)) && (Convert.ToDecimal(t) < Convert.ToDecimal(happytotime)) && (happystatus == 1))                
                {
                    tHappy_Status = 1;
                }

                if (GlobalClass.GlobalservedAt == "RST")
                {
                    query = "select a.Fb_Item_Creation_ItemDescription, a.Fb_Item_Creation_RestaurantPrice, a.Fb_Item_Creation_ItemCode, a.Fb_Item_Creation_TaxStatus, "
                            + "a.Fb_Item_Creation_VatPercentage, a.Fb_Item_Creation_ServicechargeStatus, a.Fb_Item_Creation_SurchargeStatus, a.Fb_Item_Creation_DiscountStatus,"
                            + "a.FB_Item_ID, b.Fb_Category_Stock, b.Fb_Category_Name,a.Fb_Item_Creation_ModifierStatus,a.Fb_Item_Creation_HappyhoursStatus from fb_item_creation a, fb_category b "
                            + "where a.FB_Item_ID = '" + id + "' and a.Fb_Item_Creation_DeleteStatus=0 and "
                            + "a.Fb_Item_Creation_OutletId='" + GlobalClass.GlobaloutletId + "' "
                            + "and a.Fb_Item_Creation_ItemGroupId='" + GlobalClass.GlobalitemGroupId + "' and b.Fb_Category_DeleteStatus=0 and "
                            + "b.Fb_Category_Id = a.Fb_Item_Creation_ItemCategoryId";
                }
                else if (GlobalClass.GlobalservedAt == "BAR")
                {
                    query = "select a.Fb_Item_Creation_ItemDescription, a.Fb_Item_Creation_BarPrice, a.Fb_Item_Creation_ItemCode, a.Fb_Item_Creation_TaxStatus, "
                            + "a.Fb_Item_Creation_VatPercentage, a.Fb_Item_Creation_ServicechargeStatus, a.Fb_Item_Creation_SurchargeStatus, a.Fb_Item_Creation_DiscountStatus,"
                            + "a.FB_Item_ID, b.Fb_Category_Stock, b.Fb_Category_Name,a.Fb_Item_Creation_ModifierStatus,a.Fb_Item_Creation_HappyhoursStatus,a.Fb_Item_Creation_HappyhoursStatus from fb_item_creation a, fb_category b "
                            + "where a.FB_Item_ID = '" + id + "' and a.Fb_Item_Creation_DeleteStatus=0 and "
                            + "a.Fb_Item_Creation_OutletId='" + GlobalClass.GlobaloutletId + "' "
                            + "and a.Fb_Item_Creation_ItemGroupId='" + GlobalClass.GlobalitemGroupId + "' and b.Fb_Category_DeleteStatus=0 and "
                            + "b.Fb_Category_Id = a.Fb_Item_Creation_ItemCategoryId";
                }
                else
                {
                    query = "select a.Fb_Item_Creation_ItemDescription, a.Fb_Item_Creation_RoomPrice, a.Fb_Item_Creation_ItemCode, a.Fb_Item_Creation_TaxStatus, "
                            + "a.Fb_Item_Creation_VatPercentage, a.Fb_Item_Creation_ServicechargeStatus, a.Fb_Item_Creation_SurchargeStatus, a.Fb_Item_Creation_DiscountStatus,"
                            + "a.FB_Item_ID, b.Fb_Category_Stock, b.Fb_Category_Name,a.Fb_Item_Creation_ModifierStatus from fb_item_creation a, fb_category b "
                            + "where a.FB_Item_ID = '" + id + "' and a.Fb_Item_Creation_DeleteStatus=0 and "
                            + "a.Fb_Item_Creation_OutletId='" + GlobalClass.GlobaloutletId + "' "
                            + "and a.Fb_Item_Creation_ItemGroupId='" + GlobalClass.GlobalitemGroupId + "' and b.Fb_Category_DeleteStatus=0 and "
                            + "b.Fb_Category_Id = a.Fb_Item_Creation_ItemCategoryId";
                }
                connection = new MySqlConnection(GlobalClass.GlobalConnString.ToString());

                command = new MySqlCommand(query, connection);
                connection.Open();
                Reader = command.ExecuteReader();
                while (Reader.Read())
                {
                    roomno[array_no, 0] = Reader[0].ToString(); // Fb_Item_Creation_ItemDescription
                    if (GlobalClass.GlobalopenCode == "OPEN")
                    {

                        roomno[array_no, 0] = GlobalClass.GlobalopenDes.ToString(); // Fb_Item_Creation_ItemDescription
                        roomno[array_no, 1] = GlobalClass.GlobalopenRate.ToString(); // Fb_Item_Creation_RoomPrice
                        roomno[array_no, 2] = GlobalClass.GlobalopenQty.ToString();                // Qty
                        roomno[array_no, 3] = Reader[2].ToString(); // Fb_Item_Creation_ItemCode
                        roomno[array_no, 4] = Reader[3].ToString(); // Fb_Item_Creation_TaxStatus
                        roomno[array_no, 5] = Reader[4].ToString(); // Fb_Item_Creation_VatPercentage
                        roomno[array_no, 6] = Reader[5].ToString(); // Fb_Item_Creation_ServicechargeStatus
                        roomno[array_no, 7] = Reader[6].ToString(); // Fb_Item_Creation_SurchargeStatus
                        roomno[array_no, 8] = Reader[7].ToString(); // Fb_Item_Creation_DiscountStatus
                        roomno[array_no, 9] = Reader[8].ToString(); // FB_Item_ID
                        roomno[array_no, 10] = Reader[9].ToString(); // Fb_Category_Stock
                        roomno[array_no, 11] = Reader[10].ToString(); // Fb_Category_Name
                        roomno[array_no, 12] = Reader[1].ToString();  // Total = rate * qty
                        roomno[array_no, 13] = Reader[11].ToString(); //Fb_Item_Creation_ModifierStatus
                        roomno[array_no, 14] = ""; //Fb_Kot_Item_TouchLine
                        roomno[array_no, 15] = ""; // UserModifier
                        roomno[array_no, 16] = Reader[12].ToString(); // HappyHours


                        array_no++;
                        GlobalClass.GlobalarrayNo = array_no;
                    }
                    else if (roomno[array_no, 0] == "OPEN")
                    {
                        Response.Redirect("OpenItem.aspx" + "?id=" + id);
                    }
                    else
                    {
                        roomno[array_no, 1] = Reader[1].ToString(); // Fb_Item_Creation_RoomPrice
                        roomno[array_no, 2] = "1";                  // Qty
                        roomno[array_no, 3] = Reader[2].ToString(); // Fb_Item_Creation_ItemCode
                        roomno[array_no, 4] = Reader[3].ToString(); // Fb_Item_Creation_TaxStatus
                        roomno[array_no, 5] = Reader[4].ToString(); // Fb_Item_Creation_VatPercentage
                        roomno[array_no, 6] = Reader[5].ToString(); // Fb_Item_Creation_ServicechargeStatus
                        roomno[array_no, 7] = Reader[6].ToString(); // Fb_Item_Creation_SurchargeStatus
                        roomno[array_no, 8] = Reader[7].ToString(); // Fb_Item_Creation_DiscountStatus
                        roomno[array_no, 9] = Reader[8].ToString(); // FB_Item_ID
                        roomno[array_no, 10] = Reader[9].ToString(); // Fb_Category_Stock
                        roomno[array_no, 11] = Reader[10].ToString(); // Fb_Category_Name
                        roomno[array_no, 12] = Reader[1].ToString();  // Total = rate * qty
                        roomno[array_no, 13] = Reader[11].ToString(); //Fb_Item_Creation_ModifierStatus
                        roomno[array_no, 14] = ""; //Fb_Kot_Item_TouchLine
                        roomno[array_no, 15] = ""; // UserModifier                        
                        roomno[array_no, 16] = Reader[12].ToString(); // HappyHours

                        if ((tHappy_Status == 1) && (roomno[array_no, 16].ToString()=="Yes"))
                        {
                            roomno[array_no, 8] = "Yes";
                        }

                        array_no++;
                        GlobalClass.GlobalarrayNo = array_no;

                        //var nameValues = HttpUtility.ParseQueryString(Request.QueryString.ToString());
                        //nameValues.Set("sortBy", "4");
                        //string url = Request.Url.AbsolutePath;
                        //string updatedQueryString = "?" + nameValues.ToString();
                        //Response.Redirect(url + updatedQueryString);
                    }
                }
                connection.Close();

                ViewState["btn"] = "1";
                ViewState["tot"] = "0";
                ViewState["happystatus"] = happystatus;
                btn_click = Convert.ToInt32(ViewState["btn"].ToString());
                int len = array_no;
                while (len > 8)
                {
                    len = len - 8;
                    tot++;
                }

                if (len != 0) tot++;
                ViewState["tot"] = tot;
                fun();
                //CreatingTmpModdbf1();

                // Modifier Text
                int seq = Convert.ToInt32(Request.QueryString["seq"]);
                string text = Request.QueryString["text"];
                if (text != null)
                {
                    roomno[seq - 1, 15] = text;
                }
            }

我假设您的数组是静态/共享的。静态变量在整个应用程序域和所有线程中共享。因此,每个用户都使用相同的变量

因此,不要使用静态变量,而应该再次使用querystring来持久化数组


如果这是一个错误的假设,您应该在添加项目后向我们显示您的代码,您可以重定向到其他页面。例如51402/ItemGrid.aspx


另外,使用get请求保存/编辑/删除数据也不是一个好主意,最好使用post。

如果要在Page_Load中将项目添加到数组中,可能需要将添加项目的代码包装为以下格式:

If Not Page.IsPostBack Then
    //Your array item adding code here
End If

这将防止在用户刷新页面时再次添加项目。不过,我想回应Tim,说如果我假设不正确,你应该发布你的代码。

搜索元素,如果它存在于数组中,那么不要设置它。还向我们展示
GlobalClass
的相关代码(听起来它使用的是静态变量,这在asp.net中是一个非常糟糕的主意,因为每个用户都会使用相同的变量).@timschmelter为什么?。我想更改代码吗?
If Not Page.IsPostBack Then
    //Your array item adding code here
End If