2014-10-07 9 views
5

Sto usando un GridView annidato (ho 5 Gridview di nidificazione). Ho applicato un validatore di campo normale per queste GridView.Caselle di testo che causano problemi in ASP.NET C# SQL

Ma una volta che si fa clic sul pulsante, le virgole vengono generate nella casella di testo. A causa di ciò ogni volta che clicco sul pulsante, viene attivata la convalida.

Ho ricercato molti articoli ma non ne ho trovato uno relativo a questo.

Ecco l'immagine per il GridView con le virgole generati nella casella di testo:

Image Of Error Page

HTML Part Code

<%-- First Gridview--%> 
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" 
    CssClass="gvstyling gridview_width_60" ShowHeaderWhenEmpty="true" EmptyDataText="Record(s) Not Found!" 
    DataKeyNames="locality" ShowHeader="false" OnRowDataBound="gvLocality_RowDataBound"> 
    <Columns> 

     <asp:TemplateField ItemStyle-Width="15px"> 
      <ItemTemplate> 
       <img alt="" style="cursor: pointer" src="../images/plus.png" /> 

       <asp:Panel ID="pnlCompanyName" runat="server" Style="display: none"> 

        <%-- Second Gridview --%> 
        <asp:GridView ID="gvCompanyName" ShowHeader="false" ShowHeaderWhenEmpty="false" CssClass="gvstyling gridview_width_100" 
         OnRowDataBound="gvCompanyName_RowDataBound" runat="server" 
         AutoGenerateColumns="false" EmptyDataText="No Record(s) Found!"> 

         <Columns> 

          <asp:TemplateField ItemStyle-Width="15px"> 
           <ItemTemplate> 
            <asp:HiddenField ID="hfRetailer_Id" Value='<%# Eval("retailer_id") %>' runat="server"></asp:HiddenField> 
            <asp:HiddenField ID="hfLocality" Value='<%# Eval("locality") %>' runat="server"></asp:HiddenField> 
            <asp:Label ID="lbl" Visible="false" Text='<%# Eval("retailer_id") %>' runat="server"></asp:Label> 
            <img alt="" style="cursor: pointer" src="../images/plus.png" /> 

            <asp:Panel ID="pnlSellOrderNo" runat="server" Style="display: none"> 

             <%-- Third Gridview --%> 
             <asp:GridView ID="gvSellOrderNo" ShowHeader="false" ShowHeaderWhenEmpty="false" 
              CssClass="gvstyling gridview_width_100" runat="server" OnRowDataBound="gvSellOrderNo_RowDataBound" 
              AutoGenerateColumns="false" EmptyDataText="No Record(s) Found!"> 
              <Columns> 
               <asp:TemplateField ItemStyle-Width="15px"> 
                <ItemTemplate> 
                 <asp:HiddenField ID="hf_SellOrderNo" Value='<%# Eval("sell_order_no") %>' runat="server"></asp:HiddenField> 
                 <asp:Label ID="lblSellOrderNo" Visible="false" Text='<%# Eval("sell_order_no") %>' runat="server"></asp:Label> 
                 <img alt="" style="cursor: pointer" src="../images/plus.png" /> 
                 <asp:Panel ID="pnlProductDetails" runat="server" Style="display: none"> 

                  <%-- fourth Gridview --%> 
                  <asp:GridView ID="gvProductDetails" ShowHeader="false" ShowHeaderWhenEmpty="false" 
                   CssClass="gvstyling gridview_width_100" runat="server" OnRowDataBound="gvProductDetails_RowDataBound" 
                   AutoGenerateColumns="false" EmptyDataText="No Record(s) Found!"> 
                   <Columns> 

                    <asp:TemplateField ItemStyle-Width="15px"> 
                     <ItemTemplate> 
                      <asp:HiddenField ID="HiddenField1" Value='<%# Eval("sell_order_no") %>' runat="server"></asp:HiddenField> 
                      <asp:HiddenField ID="hfProductId" Value='<%# Eval("product_id") %>' runat="server"></asp:HiddenField> 
                      <asp:Label ID="lblProductId" Visible="false" Text='<%# Eval("product_id") %>' runat="server"></asp:Label> 

                      <img alt="" style="cursor: pointer" src="../images/plus.png" /> 
                      <asp:Panel ID="pnlWarehouseDetails" runat="server" Style="display: none"> 

                       <%-- fifth Gridview--%> 
                       <asp:GridView ID="gvWarehouseDetails" ShowHeader="false" ShowHeaderWhenEmpty="false" 
                        CssClass="gvstyling gridview_width_100" runat="server" 
                        AutoGenerateColumns="false"> 

                        <Columns> 
                         <asp:TemplateField> 
                          <ItemTemplate> 
                           <asp:Label ID="lblWarehouseId" Text='<%# Eval("c_warehouse_id") %>' Visible="false" runat="server"></asp:Label> 
                           <%# Eval("warehouse_name") %> (<%# Eval("qty") %>) 
                          </ItemTemplate> 
                         </asp:TemplateField> 

                         <asp:TemplateField> 
                          <ItemTemplate> 
                           <asp:TextBox ID="txtQty" runat="server"></asp:TextBox> 
                          </ItemTemplate> 
                         </asp:TemplateField> 
                        </Columns> 

                       </asp:GridView> 

                       <%-- fifth Gridview --%> 
                      </asp:Panel> 
                     </ItemTemplate> 
                    </asp:TemplateField> 



                    <asp:TemplateField> 
                     <ItemTemplate> 
                      <%# Eval("product_name") %> (<%# Eval("qty") %>) 
                     </ItemTemplate> 
                    </asp:TemplateField> 
                   </Columns> 
                  </asp:GridView> 
                  <%-- fourth Gridview --%> 
                 </asp:Panel> 
                </ItemTemplate> 
               </asp:TemplateField> 

               <asp:TemplateField> 
                <ItemTemplate> 
                 <%# Eval("sell_order_no") %> 
                </ItemTemplate> 
               </asp:TemplateField> 
              </Columns> 
             </asp:GridView> 
             <%-- Third Gridview --%> 
            </asp:Panel> 
           </ItemTemplate> 
          </asp:TemplateField> 

          <asp:TemplateField HeaderText="Business Name"> 
           <ItemTemplate> 
            <%# Eval("business_name") %> 
           </ItemTemplate> 
          </asp:TemplateField> 

         </Columns> 

        </asp:GridView> 
        <%-- Second Gridview--%> 
       </asp:Panel> 
      </ItemTemplate> 
     </asp:TemplateField> 

     <asp:TemplateField ItemStyle-CssClass="gv_item_bg"> 
      <ItemTemplate> 
       <asp:Label ID="lblLocality" runat="server" Text=' <%# Eval("locality") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 

    </Columns> 
</asp:GridView> 
<%-- First Gridview --%> 

codice al file

//Filling Shipping Company Name 
private void FillShippingCompanyName() 
{ 
    try 
    { 
     ArrayList arr = new ArrayList(); 
     cm.ds.Clear(); 
     cm.sp_dataset_execute("spdisplay_Shipping_Comany_Name", arr); 

     ddlCompanyName.DataSource = cm.ds; 
     ddlCompanyName.DataValueField = "shipping_code"; 
     ddlCompanyName.DataTextField = "shipping_name"; 
     ddlCompanyName.DataBind(); 
     ddlCompanyName.Items.Insert(0, new ListItem("---- Select Shipping Company ----", "0")); 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Shipping-Order-FillShippingCompanyName()"); 
    } 
    finally 
    { 
     cm.con.Close(); 
    } 

} 

private void FillLocality() 
{ 
    try 
    { 
     cm.ds.Clear(); 
     ArrayList arr = new ArrayList(); 
     cm.sp_dataset_execute("spDisplay_Locality", arr); 

     gvLocality.DataSource = cm.ds; 
     gvLocality.DataBind(); 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Shipping-Order-FillLocality()"); 
     cm.con.Close(); 
    } 
    finally 
    { 
     cm.con.Close(); 
    } 
} 

//Locality Gridview Row Databound (Level 1 Grdview) 
common cm1 = new common(); 
protected void gvLocality_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    try 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      string Locality = gvLocality.DataKeys[e.Row.RowIndex].Value.ToString(); 
      GridView gvCompanyName = e.Row.FindControl("gvCompanyName") as GridView; 

      cm1.ds.Clear(); 
      //Binding Company Gridview 
      ArrayList arr1 = new ArrayList(); 
      arr1.Add("@locality|" + Locality + ""); 
      cm1.sp_dataset_execute("spDisplayCompanyName", arr1); 

      gvCompanyName.DataSource = cm1.ds; 
      gvCompanyName.DataBind(); 
     } 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Recent_activity-gvRecentActivityOuter_RowDataBound()"); 
     cm1.con.Close(); 
    } 
    finally 
    { 
     cm1.con.Close(); 
    } 
} 

//Comapny Name Gridview Row Databound (Level 2 Grdview) 
common cm2 = new common(); 
protected void gvCompanyName_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    try 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      string RetailerId = ((HiddenField)e.Row.FindControl("hfRetailer_Id")).Value; 
      GridView gvSellOrderNo = e.Row.FindControl("gvSellOrderNo") as GridView; 
      string Locality = ((HiddenField)e.Row.FindControl("hfLocality")).Value; 



      cm2.ds.Clear(); 
      //Binding Company Gridview 
      ArrayList arr = new ArrayList(); 
      arr.Add("@retailer_id|" + RetailerId + ""); 
      arr.Add("@locality|" + Locality + ""); 
      cm2.sp_dataset_execute("spDisplay_SellOrderNo", arr); 

      gvSellOrderNo.DataSource = cm2.ds; 
      gvSellOrderNo.DataBind(); 
     } 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Shipping-Order-Page_Load()"); 
     cm2.con.Close(); 
    } 
    finally 
    { 
     cm2.con.Close(); 
    } 
} 

//Sell Order Gridview Row Databound (Level 3 Grdview) 
common cm3 = new common(); 
protected void gvSellOrderNo_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    try 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      string SellOrderNo = ((HiddenField)e.Row.FindControl("hf_SellOrderNo")).Value; 
      GridView gvProductDetails = e.Row.FindControl("gvProductDetails") as GridView; 

      FillProductDetails(gvProductDetails, SellOrderNo); 
     } 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Shipping-Order-gvSellOrderNo_RowDataBound()"); 
     cm3.con.Close(); 
    } 
    finally 
    { 
     cm3.con.Close(); 
    } 
} 

private void FillProductDetails(GridView gvProductDetails, string SellOrderNo) 
{ 

    cm3.ds.Clear(); 
    //Product Details Gridview 
    ArrayList arr = new ArrayList(); 
    arr.Add("@sell_order_no|" + SellOrderNo + ""); 

    cm3.sp_dataset_execute("spDisplay_ProductDetails", arr); 

    gvProductDetails.DataSource = cm3.ds; 
    gvProductDetails.DataBind(); 
} 

//Product Details Gridview Row Databound (Level 4 Grdview) 
common cm4 = new common(); 
protected void gvProductDetails_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    try 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      string ProductID = ((HiddenField)e.Row.FindControl("hfProductId")).Value; 

      string SellOrderNo = ((HiddenField)e.Row.FindControl("HiddenField1")).Value; 

      GridView gvWarehouseDetails = e.Row.FindControl("gvWarehouseDetails") as GridView; 

      cm4.ds.Clear(); 
      //Product Details Gridview 
      ArrayList arr = new ArrayList(); 
      arr.Add("@product_id|" + ProductID + ""); 
      arr.Add("@sell_order_no|" + SellOrderNo + ""); 

      cm4.sp_dataset_execute("spDisplay_WarehouseDetails", arr); 

      gvWarehouseDetails.DataSource = cm4.ds; 
      gvWarehouseDetails.DataBind(); 
     } 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Shipping-Order-gvProductDetails_RowDataBound()"); 
     cm4.con.Close(); 
    } 
    finally 
    { 
     cm4.con.Close(); 
    } 
} 

//Submit Button 
protected void btnSubmit_Click1(object sender, EventArgs e) 
{ 
    try 
    { 
     cm.ds.Clear(); 
     //--Insert Query for Rs_Shipping_Order_Details 
     string ShippingCode = "SHO" + DateTime.Now.ToString("yyyyMMddHHmmss"); 

     string ShippingGroup = "SG" + DateTime.Now.ToString("yyyyMMddHHmmss"); 

     ArrayList arr = new ArrayList(); 
     arr.Add("@shipping_code|" + ShippingCode + ""); 
     arr.Add("@shipping_Company_code|" + ddlCompanyName.SelectedValue + ""); 
     arr.Add("@is_shipping_delivered|0"); 
     cm.sp_execute("spInsert_Shipping_Order_Detail", arr); 

     //Locality for loop 
     for (int i = 0; i < gvLocality.Rows.Count; i++) 
     { 
      GridView gvCompanyName = gvLocality.Rows[i].FindControl("gvCompanyName") as GridView; 

      //Company for loop 
      for (int j = 0; j < gvCompanyName.Rows.Count; j++) 
      { 
       GridView gvSellOrderNo = gvCompanyName.Rows[j].FindControl("gvSellOrderNo") as GridView; 

       string RetailerId = ((Label)gvCompanyName.Rows[j].FindControl("lbl")).Text; 


       //Sell Order for loop 
       for (int k = 0; k < gvSellOrderNo.Rows.Count; k++) 
       { 
        //Product Details Gridview 
        GridView gvProductDetails = gvSellOrderNo.Rows[k].FindControl("gvProductDetails") as GridView; 
        string SO = ((Label)gvSellOrderNo.Rows[k].FindControl("lblSellOrderNo")).Text; 
        int retailer_Id = Convert.ToInt32(RetailerId); 

        //Product Details for loop 
        for (int l = 0; l < gvProductDetails.Rows.Count; l++) 
        { 

         //Warehouse Details Gridview 
         GridView gvWarehouseDetails = gvProductDetails.Rows[l].FindControl("gvWarehouseDetails") as GridView; 

         string ProductId = ((Label)gvProductDetails.Rows[l].FindControl("lblProductId")).Text; 

         //Warehouse Details for loop 
         for (int m = 0; m < gvWarehouseDetails.Rows.Count; m++) 
         { 
          TextBox txtQty = gvWarehouseDetails.Rows[m].FindControl("txtQty") as TextBox; 
          string LastValue = txtQty.Text.Split(',').Last(); 

          if (String.IsNullOrEmpty(LastValue) == false) 
          { 
           string Warehouse_Id = ((Label)gvWarehouseDetails.Rows[m].FindControl("lblWarehouseId")).Text; 
           int warehouse_id = Convert.ToInt32(Warehouse_Id); 
           string Qty = LastValue; 

           //Insert Query for Rs_Shipping_Detail_Mapping 
           ArrayList arr1 = new ArrayList(); 
           arr1.Add("@shipping_order_code|" + ShippingCode + ""); 
           arr1.Add("@retailer_id|" + retailer_Id + ""); 
           arr1.Add("@sell_order_no|" + SO + ""); 
           arr1.Add("@product_id|" + ProductId + ""); 
           arr1.Add("@c_warehouse_id|" + warehouse_id + ""); 
           arr1.Add("@shipping_group|" + ShippingGroup + ""); 
           arr1.Add("@qty|" + Qty + ""); 

           common cm1 = new common(); 
           cm1.sp_execute("spInsert_Shipping_Detail_Mapping", arr1); 


           ////Generating Pdf for Each Sell Order 
           //if (m == gvWarehouseDetails.Rows.Count - 1) 
           //{ 
           // Generate_SellOrderWise_PDf(SO, ShippingCode, ShippingGroup); 
           //} 
          } 
         } 
        } 
       } 
      } 
     } 
     Response.Redirect("../final-shipping-order/?SG=" + ShippingGroup, false); 
    } 
    catch (Exception ex) 
    { 
     ErrHandler.WriteError(ex.Message.ToString(), "Shipping-Order-btnSubmit_Click1()"); 
     cm4.con.Close(); 
    } 
    finally 
    { 
     cm4.con.Close(); 
    } 
}  

Domanda:

1. Come faccio a rimuovere le virgole dalle caselle di testo?

2. Motivo per queste virgole? (Perché le virgole vengono generate sul pulsante?)

3. Limite per Gridview annidato?

Qualsiasi aiuto sarà apprezzato.

+0

Dov'è il tuo codice? Si prega di mostrare il codice, in modo da poterti aiutare nel modo corretto. –

+0

Rimuovi la virgola usando l'espressione regolare. string result = txtbox1.text; result = result.replace (/ [,] +/g, "") .trim(); È necessario prima trovare la casella di testo sul lato server. – Manu

+0

@amit Si prega di controllare il codice che ho apportato modifiche alla domanda –

risposta

5

Quando si dispone del campo modulo duplicato names, i valori sono concatenati con le virgole.

Così, per esempio, se avete la seguente ..

<input type="text" name="name" value=""> 
<input type="text" name="name" value=""> 

.. il vostro valore risultante su Request.Form postback assomiglia a questo:

name=,, 

Questo è quello che sta succedendo.

Ecco alcune possibili soluzioni al problema, anche se non ho ancora testato nessuno di loro :)

1) UpdatePanel

Da leggere, sembra che se si crea un UpdatePanel per la controllo della rete offensivo (< asp:TextBox ID="txtQty" runat="server"></asp:TextBox>), rimuove questo problema. Ancora una volta, non ho ancora testato questo

2) Modifica DataBind) comportamento (durante Page_Load()

Quindi ...

page_load() 
{ 
    if(!isPostBack()) 
    { 
     // DataBind normally 
     myGridview.DataBind(); 
    } 
    else 
    { 
     //Some intelligent way to remove commas before binding 
    } 
} 

... Ma questo non cambia il fatto che il ,,,values vengono pubblicati in primo luogo. E così, se il vostro preoccupato in primo luogo con l'estetica finale e non il comportamento, si può semplicemente usare JS per togliere le virgole

3) JS - sbarazzarsi del virgole (come già suggerito accennato.):

(come suggerito here)

<script type="text/javascript"> 
    $("[src*=plus]").live("click", function() { 
     $(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>") 
     $(this).attr("src", "images/minus.png"); 
     $("input", $(this).closest("tr").next()).each(function() { 
      this.value = this.value.substring(',', ''); 
     }); 
    }); 
    $("[src*=minus]").live("click", function() { 
     $(this).attr("src", "images/plus.png"); 
     $(this).closest("tr").next().remove(); 
    }); 
</script> 

Spero che questo aiuti :)

[Edit] - convalida

Attenderei la convalida utilizzando l'evento .keydown(). Nel tuo caso, potrebbe essere qualcosa del genere:

// Bind to each input with id='txtQty', in each row, in the "gridview" with id='gvWarehouseDetails' 
$("#gvWarehouseDetails tr input[id*='txtQty']").each(function() { 
    $(this).keydown(function (event) { // <-- specifies the specific input 
     // Validation logic goes here... 
    }); 
}); 
+0

Ho cercato questo errore dall'ultimo mese.Quindi ora ho scoperto che questo non è il problema di Gridview. questo è il problema di Javascript. Ho scoperto che sulla griglia di origine della pagina, per impostazione predefinita, tutto l'ID è un ID univoco. Senza il javascript di Button Code è in esecuzione come previsto. Quindi, cosa dovremmo fare? Non capisco che sono un po 'nuovo in Jquery –

+0

Ho usato il tuo javascript ma il problema è ancora lì –

+0

il mio problema è stato risolto ma devo anche dare la convalida per il gridview quindi non so cosa renderizza la prima convalida o javascript –

3

Hardik, come è legato inizialmente a txtQty.Text? Arriva come una casella di testo vuota?

Si utilizza il codice string LastValue = txtQty.Text.Split(',').Last(); per provare andare a sbarazzarsi di questa virgola valori inseriti oi valori associati vengono con virgole? Voglio dire, stai usando la stessa cultura dell'interfaccia utente dai valori nel database e dall'app o devi formattarla prima di visualizzarla?

+0

I Realmente non ho ottenuto quello che hai detto ma voglio - Sul pulsante clicca come eliminare la virgola che viene generata nelle caselle di testo –

3

I Non so cosa sta succedendo nel codice. Ma se vuoi liberarti di Comma (','), allora dovrei suggerirti una cosa.

Aggiungere un riferimento di AjaxControlToolKit e registrarlo nel vostro aspx pagina come illustrato di seguito:

<%@ Register TagPrefix="ajaxToolkit" Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit, Version=[VersionNumber], Culture=neutral, PublicKeyToken=[TokenNumber]" %> 

Oppure si può fare riferimento How to install AJAX Control toolkit

Una volta installato AJAX Control Toolkit, Vai alla pagina e nella griglia TemplateField, sotto TextBoxtxtQty, aggiungi FilteredTextBoxExtender come illustrato di seguito:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:TextBox ID="txtQty" runat="server"></asp:TextBox> 
     <ajaxToolkit:FilteredTextBoxExtender runat="server" InvalidChars="," FilterMode="InvalidChars" TargetControlID="txtQty" /> 
    </ItemTemplate> 
</asp:TemplateField> 

aggiungendo FilterTextBoxExtender, non permetterà di inserire dei caratteri che sono menzionati come InvalidChars alla casella di testo 'txtQty'.

+0

Ho cercato questo errore dall'ultimo mese Quindi ora ho scoperto che questo non è il problema di Gridview. questo è il problema di Javascript. Ho scoperto che sulla griglia di origine della pagina, per impostazione predefinita, tutto l'ID è un ID univoco. Senza il javascript di Button Code è in esecuzione come previsto. Allora, cosa dovremmo fare? Non capisco che sono un po 'nuovo in Jquery –

+0

cosa hai scritto in javascript? – SpiderCode

4

Il Ajax Control Toolkit è una soluzione valida, tuttavia il supporto per esso è diventato inesistente. Presumo che ci sia un livello di controllo dinamico in quel campo. In sostanza, la griglia lo visualizzerà in determinati casi?

In entrambi i casi, si potrebbe aggiungere una specifica class al campo:

<asp:Textbox id="txtContent" runat="server" CssClass="Validator"> 

In sostanza quando la griglia aggiunge tutti questi campi alla tua pagina, saranno tutti hanno la Validator class. Così si può scrivere JavaScript per mettere a nudo in realtà il personaggio fuori dal campo, ad esempio:

$('.Validator').on('blur', function() { 
    $(this).replace(',', ''); 
}); 

Non appena i cambiamenti di messa a fuoco, quel campo rimuoverà il , dal campo, non appena il mouse lascia il , sarà rimosso dal campo.

Questo è un approccio, esistono innumerevoli altre opzioni per farlo. Questa soluzione è abbastanza facile, agile e leggera, quindi dovrebbe essere adeguata.

Aggiornamento:


La soluzione che ho scelto non dovrebbe richiedere un ciclo su quei campi. Semplicemente perché i trigger blur si verificano ogni volta che un campo change o focus viene perso. Da quando hai menzionato il , appare quando l'utente fa clic nel campo. Altrimenti si potrebbe fare la validazione su tutti i campi. Tutto quello che semplicemente avrebbe bisogno di fare:

$('.Validator').each(function() { 
    // Will iterate through each field. 
}); 

Così si potrebbe in sostanza utilizzare JavaScript te stesso per convalidare quei campi, o utilizzare una semplice libreria, come Valid8 che farà tutta la convalida lato client. Nessun postback, tutto fatto lato client prima di essere inviato al server per l'elaborazione.

Evitare:

  • pannello di aggiornamento - Si tratta di un bel dolore e incredibilmente inefficiente. Il modo in cui funzionano fondamentalmente è di occupando l'intera pagina e archiviandolo nella memoria quindi esegue una richiesta Ajax e aggiorna la pagina e estrae tutti i contenuti dalla memoria per inserirli nella pagina. Inoltre, rende estremamente difficile il lavoro con Asp.Net Page Life Cycle.
+0

Ho cercato questo errore dall'ultimo mese. Quindi ora ho scoperto che questo non è il problema di Gridview. questo è il problema di Javascript. Ho scoperto che sulla griglia di origine della pagina, per impostazione predefinita, tutto l'ID è un ID univoco. Senza il javascript di Button Code è in esecuzione come previsto. Quindi, cosa dovremmo fare, non capisco, sono un po 'nuovo in Jquery. –

+0

Quando aggiungi il campo 'Class', creerà lo stesso identificatore per tutti questi campi. Ciò darà a Javascript la possibilità di modificare il codice. – Greg

Problemi correlati