2016-08-05 10 views
-3

Ich versuche zu versuchen, Fang für eine Gridview in asp.net auf C# zu definieren, habe ich mehrere Methoden wie auf dem Etikett oder Java-Skript zeigen, aber sie didn ‚t Arbeit, dank mir helfen hier ist mein CodeVersuch Fangen funktioniert nicht in Gridview in ASP.net C#

protected void AddNewSP(object sender, EventArgs e) 
     { 
      try 
      { 
       string Id = ((TextBox)GridView1.FooterRow.FindControl("txtId")).Text; 
       string PartName = ((TextBox)GridView1.FooterRow.FindControl("txtPartName")).Text; 
       string Coverage = ((TextBox)GridView1.FooterRow.FindControl("txtCoverage")).Text; 
       string SupplierName = ((TextBox)GridView1.FooterRow.FindControl("txtSupplierName")).Text; 
       string Status = ((TextBox)GridView1.FooterRow.FindControl("txtStatus")).Text;       
        SqlConnection con = new SqlConnection(strConnString); 
        SqlCommand cmd = new SqlCommand(); 
        cmd.CommandType = CommandType.Text; 
        cmd.CommandText = "insert into SupplySituation(Id, PartName, Coverage, SupplierName, Status) " + 
        "values(@Id, @PartName, @Coverage, @SupplierName, @Status);" + 
        "select Id, PartName, Coverage, SupplierName, Status from SupplySituation ORDER BY Id DESC"; 
        cmd.Parameters.Add("@Id", SqlDbType.VarChar).Value = Id; 
        cmd.Parameters.Add("@PartName", SqlDbType.VarChar).Value = PartName; 
        cmd.Parameters.Add("@Coverage", SqlDbType.VarChar).Value = Coverage; 
        cmd.Parameters.Add("@SupplierName", SqlDbType.VarChar).Value = SupplierName; 
        cmd.Parameters.Add("@Status", SqlDbType.VarChar).Value = Status; 
        GridView1.DataSource = GetData(cmd); 
        GridView1.DataBind(); 
       } 
       catch (Exception ex) 
       { 
        ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('" + ex.Message.ToString() + "');", true); 
       }   
     } 

private DataTable GetData(SqlCommand cmd) 
     { 

      DataTable dt = new DataTable(); 
      SqlConnection con = new SqlConnection(strConnString); 
      SqlDataAdapter sda = new SqlDataAdapter(); 
      cmd.CommandType = CommandType.Text; 
      cmd.Connection = con; 
      con.Open(); 
      sda.SelectCommand = cmd; 
      sda.Fill(dt); 
      return dt;   
     } 

in der Tat nicht es irgendeinen Fehler oder eine Aktion, wenn ich auf die Schaltfläche‚ADD‘mit falschen Daten nichts passiert, ich sei denn, zeigen Sie den Fehler, aber nichts passiert

mein Front Code

<asp:GridView ID="GridView1" runat="server" Width="750px" 
           AutoGenerateColumns="False" Font-Names="Arial" 
           Font-Size="11pt" AlternatingRowStyle-BackColor="#C2D69B" 
           HeaderStyle-BackColor="green" AllowPaging="True" ShowFooter="True" 
           OnPageIndexChanging="OnPagingSP" OnRowEditing="EditSP" 
           OnRowUpdating="UpdateSP" OnRowCancelingEdit="CancelEditSP"> 

           <Columns> 

            <asp:TemplateField HeaderText="Id"> 
             <ItemTemplate> 

              <asp:Label ID="lblId" runat="server" 
               Text='<%# Eval("Id")%>'></asp:Label> 

             </ItemTemplate> 

             <FooterTemplate> 

              <asp:TextBox ID="txtId" Width="20px" 
               MaxLength="5" runat="server"></asp:TextBox> 

             </FooterTemplate> 
            </asp:TemplateField> 

            <asp:TemplateField ItemStyle-Width="50px" HeaderText="PartName"> 

             <ItemTemplate> 

              <asp:Label ID="lblPartName" runat="server" 
               Text='<%# Eval("PartName")%>'></asp:Label> 

             </ItemTemplate> 
             <EditItemTemplate> 

              <asp:TextBox ID="txtPartName" runat="server" 
               Text='<%# Eval("PartName")%>'></asp:TextBox> 

             </EditItemTemplate> 
             <FooterTemplate> 

              <asp:TextBox ID="txtPartName" Width="100px" 
               MaxLength="20" runat="server"></asp:TextBox> 

             </FooterTemplate> 

             <ItemStyle Width="30px" /> 

            </asp:TemplateField> 

            <asp:TemplateField ItemStyle-Width="100px" HeaderText="Coverage"> 

             <ItemTemplate> 

              <asp:Label ID="lblCoverage" runat="server" 
               Text='<%# Eval("Coverage")%>'></asp:Label> 

             </ItemTemplate> 

             <EditItemTemplate> 

              <asp:TextBox ID="txtCoverage" runat="server" 
               Text='<%# Eval("Coverage")%>'></asp:TextBox> 

             </EditItemTemplate> 

             <FooterTemplate> 

              <asp:TextBox ID="txtCoverage" runat="server"></asp:TextBox> 

             </FooterTemplate> 

             <ItemStyle Width="100px" /> 

            </asp:TemplateField> 

            <asp:TemplateField ItemStyle-Width="150px" HeaderText="SupplierName"> 

             <ItemTemplate> 

              <asp:Label ID="lblSupplierName" runat="server" 
               Text='<%# Eval("SupplierName")%>'></asp:Label> 

             </ItemTemplate> 

             <EditItemTemplate> 

              <asp:TextBox ID="txtSupplierName" runat="server" 
               Text='<%# Eval("SupplierName")%>'></asp:TextBox> 

             </EditItemTemplate> 

             <FooterTemplate> 

              <asp:TextBox ID="txtSupplierName" runat="server"></asp:TextBox> 

             </FooterTemplate> 

             <ItemStyle Width="150px" /> 

            </asp:TemplateField> 

            <asp:TemplateField ItemStyle-Width="150px" HeaderText="Status"> 

             <ItemTemplate> 

              <asp:Label ID="lblStatus" runat="server" 
               Text='<%# Eval("Status")%>'></asp:Label> 

             </ItemTemplate> 

             <EditItemTemplate> 

              <asp:TextBox ID="txtStatus" runat="server" 
               Text='<%# Eval("Status")%>'></asp:TextBox> 

             </EditItemTemplate> 

             <FooterTemplate> 

              <asp:TextBox ID="txtStatus" runat="server"></asp:TextBox> 

             </FooterTemplate> 

             <ItemStyle Width="150px" /> 

            </asp:TemplateField> 

            <asp:TemplateField> 

             <ItemTemplate> 

              <asp:LinkButton ID="lnkRemove" runat="server" 
               CommandArgument='<%# Eval("Id")%>' 
               OnClientClick="return confirm('Do you want to delete?')" 
               Text="Delete" OnClick="DeleteSP"></asp:LinkButton> 

             </ItemTemplate> 

             <FooterTemplate> 

              <asp:Button ID="btnAddNewSP" runat="server" Text="Add" 
               OnClick="AddNewSP" /> 

             </FooterTemplate> 

            </asp:TemplateField> 

            <asp:CommandField ShowEditButton="True" /> 

           </Columns> 

           <AlternatingRowStyle BackColor="#C2D69B" /> 

           <HeaderStyle BackColor="Green" /> 

          </asp:GridView> 
+1

Was ist Ihr genaues Problem? – jonju

+0

Vielleicht gibt es keine Fehler zu fangen? – VDWWD

+0

'Ich habe mehrere Methoden wie Show auf dem Etikett oder Java-Skript verwendet. Wo sind die Codes? 'Aber sie haben nicht funktioniert,' Welche Fehler bekommen Sie? – Eser

Antwort

0

Versuchen Sie Ihren Fang Block

catch (Exception ex) 
      { 
        ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('" + ex.Message.ToString() + "');", true); 
      }   

mit dem folgenden ersetzen:

catch (Exception ex) 
    { 
      ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('" + ex.Message.ToString() + "');", true); 
    } 
+0

Ich sehe diesen Fehler: der Name thisGetType() existiert nicht im aktuellen Kontext – Mom

+0

Mein schlecht, es gab einen Tippfehler in meinem Code. Ich korrigierte zu: this.GetType(), Wenn Sie den Fehler erhalten, bedeutet dies, dass Sie auf dem richtigen Weg sind. Bitte versuchen Sie es erneut – DaniDev

+0

es hat nicht funktioniert, passiert nichts :( – Mom