masuma joad Ответов: 1

Как добавить товары в корзину после нажатия кнопки Добавить в корзину


это страница описания продукта.

я создал страницу корзины, которая содержит gridview, который будет отображать подробную информацию о товарах, добавленных в корзину после нажатия на кнопку Добавить в корзину

Что я уже пробовал:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class Product_desc : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
    int id;
   // String product_name, product_detail;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["product_Id"] == null)
        {
            Response.Redirect("gold.aspx");
        }

        else
        {

            id = Convert.ToInt32(Request.QueryString["product_Id"].ToString());
            con.Open();
            SqlCommand com = con.CreateCommand();
            com.CommandType = CommandType.Text;
            com.CommandText = "select * from product_master where product_Id=" + id + " ";
            com.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(com);
            da.Fill(dt);
            d1.DataSource = dt;
            d1.DataBind();
            con.Close();
        }
        }

        protected void Button1_Click(object sender, EventArgs e)
    {
        //add to cart code
        
    }
}

Richard Deeming

НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

В этот конкретный экземпляр, поскольку параметр был преобразован в целое число, вы избежали SQL-инъекция[^] уязвимость. Но это все еще плохая привычка, особенно учитывая, как легко делать правильные вещи в .NET:

com.CommandText = "select * from product_master where product_Id = @id";
com.Parameters.AddWithValue("@id", id);


Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]

Maciej Los

Это кажется ответом ;)

Richard Deeming

Что касается вашего вопроса, то ответ зависит от структуры вашей базы данных.

В общих чертах у вас будет кнопка на странице, которую пользователь должен нажать, чтобы добавить продукт. Затем вам нужно прочитать идентификатор продукта и добавить или обновить строку в корзине пользователя.

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

Читать полностью и начать
Корзина Покупок | Microsoft Docs[^]


Maciej Los

+5

Karthik_Mahalingam

Спасибо Мацей