Error lies here:
cmd.Parameters.Add("@product_id", SqlDbType.Int).Value = DropDownList1.SelectedItem.Text;
You are trying to assign a string type of value to parameter defined as Int type.
Try:
cmd.Parameters.Add("@product_id", SqlDbType.Int).Value = Convert.ToInt32(DropDownList1.SelectedItem.Text);
Obviously assuming it can be converted!