Pourquoi datatables sont-elles insérées à plusieurs resockets dans MVC mais ne renvoient aucune exception?

J'ai un scénario d'insertion d'loggings dans la database dans RazorView Engine dans MVC 4. Mes données sont insérées mais elles se répètent plusieurs fois. Je ne sais pas pourquoi cela arrive. Le code est donné ci-dessous. Je veux aussi montrer si datatables sont sauvegardées ou non mais mon code ne montre pas les informations que j'ai essayé de mettre en œuvre mais cela ne fonctionne pas.

Modèle

public class ContactUs { public int SenderId { get; set; } [Required(ErrorMessage ="Please enter your name")] [Display(Name="Enter your Name")] [SsortingngLength(50,MinimumLength =3,ErrorMessage ="Name must be between 3 and 50 characters!")] public ssortingng Name { get; set; } [Required(ErrorMessage ="Please enter your email address")] [Display(Name="Enter your email address")] [MaxLength(200,ErrorMessage ="Excedding Limit")] [DataType(DataType.EmailAddress)] public ssortingng Email { get; set; } [Required(ErrorMessage ="Please enter Subject")] [Display(Name ="Enter subject")] public ssortingng CompanyName { get; set; } [Required(ErrorMessage ="Please enter your message")] [Display(Name="Enter your message")] [DataType(DataType.Text)] public ssortingng Message { get; set; } } 

Code .cshtml

 @using (Ajax.BeginForm("SendMail", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "target", OnFailure = "ShowError()", OnSuccess = "ShowSuccess()" })) { <fieldset> <legend>Fill the form below and we will contact you soon</legend> <p> @Html.LabelFor(model => model.Name)<br/> <span class="wpcf7-form-control-wrap your-name"> @Html.TextBoxFor(model => model.Name, new { @class = "wpcf7-form-control wpcf7-text wpcf7-validates-as-required" }) @Html.ValidationMessageFor(model => model.Name) </span> </p> <p> @Html.LabelFor(model => model.Email)<br> <span class="wpcf7-form-control-wrap your-email"> @Html.TextBoxFor(model => model.Email,new { @class= "wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" }) @Html.ValidationMessageFor(model => model.Email) </span> </p> <p> @Html.LabelFor(model => model.CompanyName)<br> <span class="wpcf7-form-control-wrap your-subject"> @Html.TextBoxFor(model => model.CompanyName, new {@class= "wpcf7-form-control wpcf7-text"}) @Html.ValidationMessageFor(model => model.CompanyName) </span> </p> <p> @Html.LabelFor(model => model.Message)<br> <span class="wpcf7-form-control-wrap your-message"> @Html.TextAreaFor(model => model.Message, new {@class= "wpcf7-form-control wpcf7-textarea"}) @Html.ValidationMessageFor(model => model.Message)<br /> </span> </p> <p><input type="submit" value="Send Message" class="wpcf7-form-control wpcf7-submit"> <img class="ajax-loader" src="https://www.thomasclaudiushuber.com/wp-content/plugins/contact-form-7/images/ajax-loader.gif" alt="Sending ..." style="visibility: hidden;"></p> <div class="wpcf7-response-output wpcf7-display-none"></div> </fieldset> } <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> <script> function ShowError() { $("#status").removeClass(); $("#status").addClass("alert alert-error"); $("#status").html("<strong>Error!</strong> There was an error posting the contact form. Please try again later."); } function ShowSuccess() { $("#target").removeClass(); $("#target").addClass("alert alert-success"); } </script> 

Code du controller

 public ActionResult SendMail(ContactUs form) { ssortingng retValue = "There was an error submitting the form, please try again later."; if (!ModelState.IsValid) { return Content(retValue); } if (ModelState.IsValid) { try { DataAccessLayer.DBdata objDB = new DataAccessLayer.DBdata(); bool result = objDB.InsertData(form); if (result == true) { retValue = "Your Request for Contact was submitted successfully. We will contact you shortly."; } else { retValue = "There is some problem in saving data. Please try again later."; } } catch (Exception) { throw; } } return Content(retValue); } 

Insérer une fonction de DB

 public bool InsertData(ContactUs contact) { SqlConnection con = null; ssortingng result = ""; try { con = new SqlConnection(ConfigurationManager.ConnectionSsortingngs["MyConnection"].ToSsortingng()); SqlCommand cmd = new SqlCommand("UserMail_InsertUpdateDelete", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SenderId", 0); // i will pass zero to MobileID beacause its Primary . cmd.Parameters.AddWithValue("@SenderName", contact.Name); cmd.Parameters.AddWithValue("@EmailAddress", contact.Email); cmd.Parameters.AddWithValue("@CompanyName", contact.CompanyName); cmd.Parameters.AddWithValue("@SenderMessage", contact.Message); cmd.Parameters.AddWithValue("@SentDateTime", DateTime.Now); cmd.Parameters.AddWithValue("@Query", 1); con.Open(); result = cmd.ExecuteScalar().ToSsortingng(); return true; } catch { return false; } finally { con.Close(); } } 

SP

 Create proc UserMail_InsertUpdateDelete @SenderId Bigint =0 , @SenderName varchar(50) =null, @EmailAddress varchar(200)=null, @CompanyName varchar(50)=null, @SenderMessage varchar(500)=null, @SentDateTime datetime=null, @Query int as begin if(@Query=1) begin insert into UserMail ( SenderName, EmailAddress, CompanyName, SenderMessage, SentDateTime ) values ( @SenderName, @EmailAddress, @CompanyName, @SenderMessage, @SentDateTime ) if(@@ROWCOUNT>0) begin select 'Insert' end end if(@Query=2) begin update UserMail set SenderName=@SenderName, EmailAddress=@EmailAddress, CompanyName=@CompanyName, SenderMessage=@SenderMessage where SenderId=@SenderId select 'Update' end if(@Query=3) begin Delete from UserMail where SenderId=@SenderId select 'Deleted' end if(@Query=4) begin select * from UserMail end end if(@Query=5) begin select * from UserMail where SenderId=@SenderId end