vermeiden Sie lokale Host-IDs, die von Kunden bearbeitet werden sollen

Ich habe eine Seite mit Bestelldetails, auf der Kunden ihre Verlaufsseite anzeigen können. Und das ist die URL:

wenn ich die ID von 13 auf 14 ändere, werden immer noch die Details zu ID # 14 angezeigt. Ich möchte, dass ein Fehler auftritt, wenn Kunden versuchen, die Localhost-ID zu ändern. Oder um die zu bearbeitende ID einzuschränken? Wirklich keine Ahnung, was zu tun ist. Verschlüsselung?

Übrigens ist hier der Bestelldetails-Code hinter: (Dies ist in der Benutzerkontrolle)

public partial class ucCustomerOrder1 : System.Web.UI.UserControl
{
    public bool CanIUpdateStatus;

    public string TransactionNoText
    {
        get { return txtTransactionNo.Text; }
        set { txtTransactionNo.Text = value; }
    }
    public bool IsAuthorizedToAddStatus
    {
        set { CanIUpdateStatus = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["IslandGasAdmin/ST"] == null)
            {
                txtTransactionNo.ReadOnly = true;
                btnGo.Visible = false;
            }
            else
            {
                txtTransactionNo.ReadOnly = false;
                btnGo.Visible = true;
            }
            if (txtTransactionNo.Text != string.Empty)
            {
                ShowOrderDetails(rblOrderDetails.SelectedValue, Convert.ToInt32(txtTransactionNo.Text));
            }
            else
            {
                rblOrderDetails.Visible = false;
                Panel1.Visible = false;
                Panel2.Visible = false;
                Panel3.Visible = false;
                Panel4.Visible = false;
            }
        }
    }

    private void ShowOrderDetails(string PanelId, int OrderNo)
    {
        Panel1.Visible = false;
        Panel2.Visible = false;
        Panel3.Visible = false;
        Panel4.Visible = false;
        rblOrderDetails.Visible = false;

        if (IsOrderNoValid(OrderNo))
        {
            rblOrderDetails.Visible = true;
            if (PanelId == "1")
            {
                ShoppingCart k = new ShoppingCart
                {
                    Flag = OrderNo
                };
                DataTable dtCustomerDetails = k.GetOrderList();

                if (dtCustomerDetails.Rows.Count > 0)
                {
                    Panel1.Visible = true;
                    lblCustomerName.Text = Convert.ToString(dtCustomerDetails.Rows[0]["CustomerName"]);
                    lblCustomerPhoneNo.Text = Convert.ToString(dtCustomerDetails.Rows[0]["CustomerPhoneNo"]);
                    lblCustomerEmailID.Text = Convert.ToString(dtCustomerDetails.Rows[0]["CustomerEmailID"]);
                    lblTotalPrice.Text = String.Format("{0:#,000.00}",dtCustomerDetails.Rows[0]["TotalPrice"]);
                    lblTotalProducts.Text = Convert.ToString(dtCustomerDetails.Rows[0]["TotalProducts"]);
                    txtCustomerAddress.Text = Convert.ToString(dtCustomerDetails.Rows[0]["CustomerAddress"]);
                    lblPaymentMethod.Text = Convert.ToString(dtCustomerDetails.Rows[0]["PaymentMethod"]);
                }
            }
            if (PanelId == "2")
            {
                Panel2.Visible = true;

                ShoppingCart k = new ShoppingCart()
                {
                    Flag = OrderNo
                };

                dlProducts.DataSource = k.GetTransactionDetails(); ;
                dlProducts.DataBind();
            }
            if (PanelId == "3")
            {
                Panel3.Visible = true;
                DropDownStatus.Visible = CanIUpdateStatus;
                txtStatus.Visible = false;
                //txtStatus.Visible = CanIUpdateStatus;
                btnAdd.Visible = CanIUpdateStatus;
                GetSetOrderStatus(0);
            }
        }
        else
        {
            Panel4.Visible = true;
        }
    }
    private bool IsOrderNoValid(int OrderNo)
    {
        ShoppingCart k = new ShoppingCart
        {
            Flag = OrderNo
        };
        DataTable dtCustomerDetails = k.GetOrderList();

        if (dtCustomerDetails.Rows.Count > 0)
            return true;
        else
            return false;
    }
    private void GetSetOrderStatus(int Flag)
    {
        ShoppingCart k = new ShoppingCart
        {
            OrderStatus = DropDownStatus.SelectedValue,
            OrderNo = txtTransactionNo.Text,
            Flag = Flag
        };
        DataTable dt = k.GetSetOrderStatus();

        gvOrderStatus.DataSource = dt;
        gvOrderStatus.DataBind();
        //txtStatus.Text = string.Empty;
        //DropDownStatus.SelectedValue = string.Empty;

    }

bitte hilf mir, danke

Antworten auf die Frage(0)

Ihre Antwort auf die Frage