armm1388
دوشنبه 14 بهمن 1398, 16:05 عصر
با سلام
یک مثال در مورد نحوه ذخیره اطلاعات در بانک توسط Ajax، در اینترنت پیدا کردم.
آن را پیاده سازی کردم ولی جواب نمی دهد. مدل را ساختم . کنترلر را و بعد ویو را.
ویویی بنام AddEmployee.cshtml را داخل فولدر Home که زیر فولدر Views می باشد ساخته ام. آیا مسیر درست است؟
و بجای دستور :
string constr = ConfigurationManager.ConnectionStrings["SqlConn"].ToString();
دستور زیر را نوشته ام:
string constr = "Data Source=192.168.38.4;Initial Catalog=ContosoUniversity1;Persist Security Info=True;User ID=sa;Password=au";
سپس برای فراخوانی آن، در فایل Index.cshtml دستور زیر را نوشتم.
<div class="col-md-4">
<div class="navbar-collapse collapse">
<ul class="btn btn-success">
<li>@Html.ActionLink("SQL Server ذخیره رکورد- با", "AddEmployee", "Home")</li>
</ul>
</div>
</div>
بعد از اجرا صفحه ای باز می شود و سه تا باکس را پر می کنم ولی با فشردن دکمه save هیچ اتفاقی نمی افتد.
چرا؟
آیا دستور : com.CommandType = CommandType.StoredProcedure; در این موضوع اثر دارد؟
ممنون می شوم جواب بفرمایید؟
Empmodel.cs
public class EmpModel
{
public string Name { get; set; }
public string City { get; set; }
public string Address { get; set; }
}
++++++++++++++++
HomeController.cs
public class HomeController : Controller
{
private SqlConnection con;
// GET: Home
public ActionResult AddEmployee()
{
return View();
}
//Post method to add details
[HttpPost]
public ActionResult AddEmployee(EmpModel obj)
{
AddDetails(obj);
return View();
}
//To Handle connection related activities
private void connection()
{
string constr = ConfigurationManager.ConnectionStrings["SqlConn"].ToString();
con = new SqlConnection(constr);
}
//To add Records into database
private void AddDetails(EmpModel obj)
{
connection();
SqlCommand com = new SqlCommand("AddEmp", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@Name", obj.Name);
com.Parameters.AddWithValue("@City", obj.City);
com.Parameters.AddWithValue("@Address", obj.Address);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
}
+++++++++++++
AddEmployee.cshtml:
@{
ViewBag.Title = "www.compilemode.com (http://www.compilemode.com/)";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("#btnSave").click(function () {
$.ajax(
{
type: "POST", //HTTP POST Method
url: "Home/AddEmployee", // Controller/View
data: { //Passing data
Name: $("#txtName").val(), //Reading text box values using Jquery
City: $("#txtAddress").val(),
Address: $("#txtcity").val()
}
});
});
});
</script>
<br /><br />
<fieldset>
<div class="form-horizontal">
<div class="editor-label">
Name
</div>
<div class="editor-label">
<input type="text" id="txtName" />
</div>
<div class="editor-label">
Address
</div>
<div class="editor-label">
<input type="text" id="txtAddress" />
</div>
<div class="editor-label">
City
</div>
<div class="editor-label">
<input type="text" id="txtcity" />
</div>
<div class="editor-label">
<br />
<input class="btn-default" type="button" id="btnSave" value="Save" />
</div>
</div>
</fieldset>
+++++++++++++++++
یک مثال در مورد نحوه ذخیره اطلاعات در بانک توسط Ajax، در اینترنت پیدا کردم.
آن را پیاده سازی کردم ولی جواب نمی دهد. مدل را ساختم . کنترلر را و بعد ویو را.
ویویی بنام AddEmployee.cshtml را داخل فولدر Home که زیر فولدر Views می باشد ساخته ام. آیا مسیر درست است؟
و بجای دستور :
string constr = ConfigurationManager.ConnectionStrings["SqlConn"].ToString();
دستور زیر را نوشته ام:
string constr = "Data Source=192.168.38.4;Initial Catalog=ContosoUniversity1;Persist Security Info=True;User ID=sa;Password=au";
سپس برای فراخوانی آن، در فایل Index.cshtml دستور زیر را نوشتم.
<div class="col-md-4">
<div class="navbar-collapse collapse">
<ul class="btn btn-success">
<li>@Html.ActionLink("SQL Server ذخیره رکورد- با", "AddEmployee", "Home")</li>
</ul>
</div>
</div>
بعد از اجرا صفحه ای باز می شود و سه تا باکس را پر می کنم ولی با فشردن دکمه save هیچ اتفاقی نمی افتد.
چرا؟
آیا دستور : com.CommandType = CommandType.StoredProcedure; در این موضوع اثر دارد؟
ممنون می شوم جواب بفرمایید؟
Empmodel.cs
public class EmpModel
{
public string Name { get; set; }
public string City { get; set; }
public string Address { get; set; }
}
++++++++++++++++
HomeController.cs
public class HomeController : Controller
{
private SqlConnection con;
// GET: Home
public ActionResult AddEmployee()
{
return View();
}
//Post method to add details
[HttpPost]
public ActionResult AddEmployee(EmpModel obj)
{
AddDetails(obj);
return View();
}
//To Handle connection related activities
private void connection()
{
string constr = ConfigurationManager.ConnectionStrings["SqlConn"].ToString();
con = new SqlConnection(constr);
}
//To add Records into database
private void AddDetails(EmpModel obj)
{
connection();
SqlCommand com = new SqlCommand("AddEmp", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@Name", obj.Name);
com.Parameters.AddWithValue("@City", obj.City);
com.Parameters.AddWithValue("@Address", obj.Address);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
}
+++++++++++++
AddEmployee.cshtml:
@{
ViewBag.Title = "www.compilemode.com (http://www.compilemode.com/)";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("#btnSave").click(function () {
$.ajax(
{
type: "POST", //HTTP POST Method
url: "Home/AddEmployee", // Controller/View
data: { //Passing data
Name: $("#txtName").val(), //Reading text box values using Jquery
City: $("#txtAddress").val(),
Address: $("#txtcity").val()
}
});
});
});
</script>
<br /><br />
<fieldset>
<div class="form-horizontal">
<div class="editor-label">
Name
</div>
<div class="editor-label">
<input type="text" id="txtName" />
</div>
<div class="editor-label">
Address
</div>
<div class="editor-label">
<input type="text" id="txtAddress" />
</div>
<div class="editor-label">
City
</div>
<div class="editor-label">
<input type="text" id="txtcity" />
</div>
<div class="editor-label">
<br />
<input class="btn-default" type="button" id="btnSave" value="Save" />
</div>
</div>
</fieldset>
+++++++++++++++++