2016-05-14 9 views
0

Tatsächlich sind Kommas in der Textbox perfekt ausgeführt. 12.345 = 12.345 meine jedoch Submit-Button funktioniert nicht gut, wenn ich die JavaScrip mit meiner Textbox bin erklärt:automatisches Komma in Textfeldern

<asp:TextBox ID="txtProductPrice" runat="server" class="form-control" MaxLength ="6" onkeyup ="javascript:this.value=Comma(this.value);"></asp:TextBox> 

hier ist mein Button-Code:

protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     if (uploadProductPhoto.PostedFile != null) 
     { 
      SaveProductPhoto(); 

      ShoppingCart k = new ShoppingCart() 
      { 
       ProductName = txtProductName.Text, 
       ProductImage = "~/ProductImages/" + uploadProductPhoto.FileName, 
       ProductPrice = txtProductPrice.Text, 
       ProductDescription = txtProductDescription.Text, 
       CategoryID = Convert.ToInt32(ddlCategory.SelectedValue), 
       TotalProducts = Convert.ToInt32(txtProductQuantity.Text) 
      }; 
      k.AddNewProduct(); 
      ClearText(); 
      Label2.Text = "Product Added!"; 
      //Response.Redirect("AddNewProduct.aspx?alert=success"); 
     } 
     else 
     { 
      Response.Write("<script>alert('Please upload photo');</script>"); 

Der Code beendet ist ("Produkt hinzugefügt "erscheint"), das Produkt wird jedoch nicht hinzugefügt. Es ist nicht in der Datenbank oder irgendwo. irgendwelche Tricks dazu?

Hier ist die k.AddNewProduct();

ALTER PROCEDURE [dbo].[SP_AddNewProduct] 
(
@ProductName varchar(300), 
@ProductPrice varchar(500), 
@ProductImage varchar(500), 
@ProductDescription varchar(1000), 
@CategoryID int, 
@ProductQuantity int 
) 

AS 
    BEGIN 
     BEGIN TRY 

      Insert into products 
      values 
      (@ProductName, 
      @ProductDescription, 
      @ProductPrice, 
      @ProductImage, 
      @CategoryID, 
      @ProductQuantity 
      ) 

    END TRY 

    BEGIN CATCH 

     PRINT ('Error Occured') 
    END CATCH 
END 
+0

Was die Art der Product in der DB ? –

+0

varchar sir @Idanb –

+0

Haben Sie das 'k.AddNewProduct()' debuggen, um zu sehen, was dort los ist? Du bekommst dort keine Fehler von der DB? –

Antwort

0

Ich habe js durch vereinfachte regex

function Comma(Num) { 
var parts = Num.toString().split("."); 
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
return parts.join("."); 
} 

, wenn Sie auch Unterstützung für Zahlen mit Dezimalstellen müssen Sie dann den folgenden Code verwenden

function numberWithCommas(n) { 
var parts=n.toString().split("."); 
return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : ""); 
} 
+0

danke, mein Herr. Bitte beachte bitte die bearbeitete Frage –