2016-04-19 2 views
0

У меня есть datalist, у которого есть таэквот и кнопка. Нажав на кнопку, мне нужно вставить значение из текстового поля в базу данных. Но его вставив 0 всего времениСохранение значений из веб-формы в переменные

public partial class Product : System.Web.UI.Page 
{ 
    int id; 
    int quantity; 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void productDisplayList_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) 
    { 
     e.InputParameters["id"] = Request.QueryString["id"]; 
     Session["id"] = Convert.ToInt16(Request.QueryString["id"]); 
    } 
    protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e) 
    { 
     if (e.CommandName.Equals("addToCart1")) 
     { 
       int = Convert.ToInt16(e.Item.FindControl("Qty")); 
     } 

     if (e.CommandName == "addToCart") 
     { 

      AddToCart.addToCart(Convert.ToInt16(Session["id"]), Convert.ToInt16(Session["qty"])); 
     } 
    } 
} 

.aspx

<asp:ObjectDataSource ID="productDisplayList" runat="server" SelectMethod="getData" TypeName="ProductDisplayList" OnSelecting="productDisplayList_Selecting"> 
    <SelectParameters> 
     <asp:Parameter Name="id" Type="Int32" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 
<asp:DataList ID="DataList2" runat="server" DataSourceID="productDisplayList" Width="490" OnItemCommand="DataList2_ItemCommand"> 
    <ItemTemplate> 
     <asp:Label ID="Label4" class="productName" runat="server" Text='<%# Eval("productName") %>'></asp:Label> 
     <table class="nav-justified"> 
      <tr> 
       <td><asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("productImage") %>' Width="300" Height="150" /></td> 
       <td> 
        <table class="inner-nav-justified"> 
         <tr> 
          <td> 
           <p>Manufacture </p> 
          </td> 
          <td> 
           <asp:Label ID="Label1" runat="server" class="product" Text='<%# Eval("productManufacture") %>'></asp:Label> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <p>Location </p> 
          </td> 
          <td> 
           <asp:Label ID="Label2" runat="server" class="product" Text='<%# Eval("productLocation") %>' ></asp:Label> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <p>price </p> 
          </td> 
          <td> 
           <asp:Label ID="Label3" runat="server" class="product" Text='<%# Eval("productPrice") %>' ></asp:Label> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <asp:TextBox ID="QtyTextBox" class="form-control input-sm" CommandName="addToCart1" runat="server" Width="50" PlaceHolder="Qty"></asp:TextBox> 
          </td> 
          <td> 
           <asp:Button ID="Button1" CssClass="btn btn-default btn-sm" CommandName="addToCart" runat="server" Text="Add" /> 
          </td> 
         </tr> 

        </table> 
       </td> 
      </tr> 
     </table> 
     <div class="productDetailDesc"> 
      <p><b>Product Description</b></p> 
       <asp:Label ID="Label5" runat="server" class="productDesc" Text='<%# Eval("productDesc") %>' ></asp:Label> 

     </div> 
    </ItemTemplate> 
+1

Можете ли вы разместить свой информационный справочник здесь? –

+0

@PiyushKhatri обновленный – adarshjaya12

+0

Просьба связывать ваш datalist. В настоящее время я вижу, что вы все еще не привязываетесь к datalist. –

ответ

0

Где вы связывание DataList ??. если вы привязываете его на PageLoad, тогда вы являетесь связующим звеном внутри IsPostback .. ??

Потому что ваш код почти выглядит правильно. если вы привязываетесь внутри PageLoad, но не chacking IsPostback, то ваш Qty Текстовое поле всегда принимает начальное значение.

Я знаю, что это должен быть комментарий, но я не могу прокомментировать XD

Смежные вопросы