باسلام
بنده می خواهم عملیات CRUD را با Ajax بنویسم. هر چه تلاش می کنم هر مقاله ای می خوانم . هر کاری می کنم نمی شود . جواب نمی گیرم. از هر که بپرسم و در هر سایتی مطرح می کنم فایده ندارد.
مثلا برای پروسه ذخیره در بانک اطلاعاتی:
کد در کنترلر:
public ActionResult InsertData_5() { return View(); } [HttpPost] public ActionResult InsertData_5(Personal objdata) { try { //SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[connectionString].ToString()); string constr = "Data Source=192.168.100.1;Initial Catalog=ContosoUniversity1;Persist Security Info=True;User ID=sa;Password=Abhar70"; SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[constr].ToString()); con.Open(); SqlCommand cmd = new SqlCommand("InsertData_SP", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@FirstName", objdata.FirstName); cmd.Parameters.AddWithValue("@LastName", objdata.LastName); cmd.Parameters.AddWithValue("@Phone", objdata.Phone); cmd.ExecuteNonQuery(); con.Close(); } catch (Exception) { throw; } return View("InsertData_5"); }
+++++++++++++++++
محتوای Store Procedure :
USE [ContosoUniversity1] GO /****** Object: StoredProcedure [dbo].[InsertData_SP] Script Date: 02/18/2020 15:04:34 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- Batch submitted through debugger: SQLQuery1.sql|0|0|C:\Users\Administrator\AppData\Local\Temp\~vsF4A9.sql ALTER PROCEDURE [dbo].[InsertData_SP] ( @FirstName nvarchar(MAX), @LastName nvarchar(MAX), @Phone nvarchar(MAX) ) AS BEGIN INSERT INTO Personal_tbl2 ( FirstName ,LastName ,Phone ) Values ( @FirstName ,@LastName ,@Phone ) END
+++++++++++++++++
محتوای فایل ویوی InsertData_5.cshtml :
@model ContosoUniversity.Models.Personal @using System.Web.Optimization; @{ ViewBag.Title = "InsertData_5"; } <h2>Index</h2> <!-- سه خط زیر را اضافه کردیم تا بتوان با ایجکس کار کرد --> <script src="~/Scripts/jquery-3.4.1.js"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script> <script src=”-/Scripts/jquery.unobtrusive-ajax.min.js”></script> <div id="divEmp"> @using (Ajax.BeginForm("InsertData_5", "Post", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" })) { <table> <tr> <td>FirstName</td> <td> <input type="text" id="txtFirstName" /> </td> </tr> <tr> <td>LastName</td> <td> <input type="text" id="txtLastName" /> </td> </tr> <tr> <td>Phone</td> <td> <input type="text" id="txtPhone" /> </td> </tr> <tr> <td> <input type="button" id="btnsubmit" value="Save" /> </td> </tr> </table> <script type="text/javascript"> $(document).ready(function () { $("#btnsubmit").click(function () { $.ajax( { type: "POST", url: "Home/InsertData_5", data: { FirstName: $("#txtFirstName").val(), LastName: $("#txtLastName").val(), Phone: $("#txtPhone").val() } }); }); }); </script> } </div>
++++++++++++++++
محتوای فایل Index.cshtml :
این فایل که با اجرای برنامه فراخوانی می شود و در اینجا دکمه ای قرار داده ایم که با فشردن آن پروسه ذخیره اطلاعات اجرا شود . اطلاعات را می گیرد ولی در بانک نمی ریزد.
@{ ViewBag.Title = "صفحه نخست"; } <div class="jumbotron"> <h1>aa</h1> </div> <div class="row"> <div class="col-md-4"> <div class="navbar-collapse collapse"> <ul class="btn btn-default"> <li>@Html.ActionLink("Ajax and SQL Server ذخیره رکورد 5 - با", "InsertData_5", "Home")</li> </ul> </div> </div> </div>
کجای کار اشکال دارد که ذخیره نمی کند؟
با تشکر
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)