Javascript 模态窗体上的更新按钮未在MVC中更新
我在ViewAllTasks页面上显示数据,该页面包含删除、编辑和添加。除了更新版本外,它们都可以工作。我没有收到任何错误,程序似乎运行正常,但数据库没有更新,视图也没有更新。 Add做了一些类似的事情,并且工作正常:它在数据库中插入一条记录,并且通过loadData()javascript更新视图。我做错了什么?请帮忙。多谢各位 JAVASCRIPT:Javascript 模态窗体上的更新按钮未在MVC中更新,javascript,jquery,html,asp.net-mvc,Javascript,Jquery,Html,Asp.net Mvc,我在ViewAllTasks页面上显示数据,该页面包含删除、编辑和添加。除了更新版本外,它们都可以工作。我没有收到任何错误,程序似乎运行正常,但数据库没有更新,视图也没有更新。 Add做了一些类似的事情,并且工作正常:它在数据库中插入一条记录,并且通过loadData()javascript更新视图。我做错了什么?请帮忙。多谢各位 JAVASCRIPT: //Load Data in Table when documents is ready $(document).ready(
//Load Data in Table when documents is ready
$(document).ready(function () {
loadData();
});
//Load Data function
@model IEnumerable<HelpDeskSupport.Models.ITTasksModel>
@{
Layout = null;
}
<!DOCTYPE html>
public ActionResult ViewAllTasks()
{
HelpDeskDBHandle dbhandle = new HelpDeskDBHandle();
return View(dbhandle.GetITTasksList());
}
//ADD IT TASK
[HttpPost]
public JsonResult AddTask(ITTasksModel Task)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.AddTaskIT(Task), JsonRequestBehavior.AllowGet);
}
//LIST IT TASKS
public JsonResult ListITTasks()
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.GetITTasksList(), JsonRequestBehavior.AllowGet);
}
public JsonResult GetTaskByTicketNumber(int id)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
var ITNumber = hdDB.GetITTasksList().Find(x => x.ITNumber.Equals(id));
return Json(ITNumber, JsonRequestBehavior.AllowGet);
}
//UPDATE TASK
[HttpPost]
public JsonResult UpdateTask(ITTasksModel Task)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.UpdateTaskIT(Task), JsonRequestBehavior.AllowGet);
}
private void connection()
{
string constring = ConfigurationManager.ConnectionStrings["HelpDeskSupportConn"].ToString();
con = new SqlConnection(constring);
}
public List<ITTasksModel> GetITTasksList()
{
connection();
List<ITTasksModel> Ittaskslist = new List<ITTasksModel>();
string constring = ConfigurationManager.ConnectionStrings["HelpDeskSupportConn"].ToString();
string query = "SELECT * FROM ITTasks";
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
Ittaskslist.Add(new ITTasksModel
{
ITNumber = Convert.ToInt32(sdr["ITNumber"]),
ITDescription = Convert.ToString(sdr["ITDescription"]),
ITEnterDate = Convert.ToString(sdr["ITEnterDate"]),
ITAssignedTo = Convert.ToString(sdr["ITAssignedTo"]),
ITEstimatedCompletion = Convert.ToString(sdr["ITEstimatedCompletion"]),
ITPriority = Convert.ToString(sdr["ITPriority"]),
ITFrom = Convert.ToString(sdr["ITFrom"]),
ITStatus = Convert.ToString(sdr["ITStatus"])
});
}
}
con.Close();
}
return Ittaskslist;
}
}
public int AddTaskIT(ITTasksModel itt)
{
int i;
connection();
SqlCommand com = new SqlCommand("p_AddITTicket", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ITDescription", itt.ITDescription);
com.Parameters.AddWithValue("@ITEnterDate", itt.ITEnterDate);
com.Parameters.AddWithValue("@ITAssignedTo", itt.ITAssignedTo);
com.Parameters.AddWithValue("@ITEstimatedCompletion", itt.ITEstimatedCompletion);
com.Parameters.AddWithValue("@ITPriority", itt.ITPriority);
com.Parameters.AddWithValue("@ITFrom", itt.ITFrom);
com.Parameters.AddWithValue("@ITStatus", itt.ITStatus);
con.Open();
i = com.ExecuteNonQuery();
con.Close();
return i;
}
public int UpdateTaskIT(ITTasksModel itt)
{
int i;
connection();
con.Open();
SqlCommand com = new SqlCommand("p_UpdateITTicket", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ITNumber", itt.ITNumber);
com.Parameters.AddWithValue("@ITDescription", itt.ITDescription);
com.Parameters.AddWithValue("@ITEnterDate", itt.ITEnterDate);
com.Parameters.AddWithValue("@ITAssignedTo", itt.ITAssignedTo);
com.Parameters.AddWithValue("@ITEstimatedCompletion", itt.ITEstimatedCompletion);
com.Parameters.AddWithValue("@ITPriority", itt.ITPriority);
com.Parameters.AddWithValue("@ITFrom", itt.ITFrom);
com.Parameters.AddWithValue("@ITStatus", itt.ITStatus);
i = com.ExecuteNonQuery();
con.Close();
return i;
}
public class ITTasksModel
{
[Key]
public int ITNumber { get; set; }
public string ITDescription { get; set; }
public string ITEnterDate { get; set; }
public string ITAssignedTo { get; set; }
public string ITEstimatedCompletion { get; set; }
public string ITPriority { get; set; }
public string ITFrom { get; set; }
public string ITStatus { get; set; }
}
查看:
//Load Data in Table when documents is ready
$(document).ready(function () {
loadData();
});
//Load Data function
@model IEnumerable<HelpDeskSupport.Models.ITTasksModel>
@{
Layout = null;
}
<!DOCTYPE html>
public ActionResult ViewAllTasks()
{
HelpDeskDBHandle dbhandle = new HelpDeskDBHandle();
return View(dbhandle.GetITTasksList());
}
//ADD IT TASK
[HttpPost]
public JsonResult AddTask(ITTasksModel Task)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.AddTaskIT(Task), JsonRequestBehavior.AllowGet);
}
//LIST IT TASKS
public JsonResult ListITTasks()
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.GetITTasksList(), JsonRequestBehavior.AllowGet);
}
public JsonResult GetTaskByTicketNumber(int id)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
var ITNumber = hdDB.GetITTasksList().Find(x => x.ITNumber.Equals(id));
return Json(ITNumber, JsonRequestBehavior.AllowGet);
}
//UPDATE TASK
[HttpPost]
public JsonResult UpdateTask(ITTasksModel Task)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.UpdateTaskIT(Task), JsonRequestBehavior.AllowGet);
}
private void connection()
{
string constring = ConfigurationManager.ConnectionStrings["HelpDeskSupportConn"].ToString();
con = new SqlConnection(constring);
}
public List<ITTasksModel> GetITTasksList()
{
connection();
List<ITTasksModel> Ittaskslist = new List<ITTasksModel>();
string constring = ConfigurationManager.ConnectionStrings["HelpDeskSupportConn"].ToString();
string query = "SELECT * FROM ITTasks";
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
Ittaskslist.Add(new ITTasksModel
{
ITNumber = Convert.ToInt32(sdr["ITNumber"]),
ITDescription = Convert.ToString(sdr["ITDescription"]),
ITEnterDate = Convert.ToString(sdr["ITEnterDate"]),
ITAssignedTo = Convert.ToString(sdr["ITAssignedTo"]),
ITEstimatedCompletion = Convert.ToString(sdr["ITEstimatedCompletion"]),
ITPriority = Convert.ToString(sdr["ITPriority"]),
ITFrom = Convert.ToString(sdr["ITFrom"]),
ITStatus = Convert.ToString(sdr["ITStatus"])
});
}
}
con.Close();
}
return Ittaskslist;
}
}
public int AddTaskIT(ITTasksModel itt)
{
int i;
connection();
SqlCommand com = new SqlCommand("p_AddITTicket", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ITDescription", itt.ITDescription);
com.Parameters.AddWithValue("@ITEnterDate", itt.ITEnterDate);
com.Parameters.AddWithValue("@ITAssignedTo", itt.ITAssignedTo);
com.Parameters.AddWithValue("@ITEstimatedCompletion", itt.ITEstimatedCompletion);
com.Parameters.AddWithValue("@ITPriority", itt.ITPriority);
com.Parameters.AddWithValue("@ITFrom", itt.ITFrom);
com.Parameters.AddWithValue("@ITStatus", itt.ITStatus);
con.Open();
i = com.ExecuteNonQuery();
con.Close();
return i;
}
public int UpdateTaskIT(ITTasksModel itt)
{
int i;
connection();
con.Open();
SqlCommand com = new SqlCommand("p_UpdateITTicket", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ITNumber", itt.ITNumber);
com.Parameters.AddWithValue("@ITDescription", itt.ITDescription);
com.Parameters.AddWithValue("@ITEnterDate", itt.ITEnterDate);
com.Parameters.AddWithValue("@ITAssignedTo", itt.ITAssignedTo);
com.Parameters.AddWithValue("@ITEstimatedCompletion", itt.ITEstimatedCompletion);
com.Parameters.AddWithValue("@ITPriority", itt.ITPriority);
com.Parameters.AddWithValue("@ITFrom", itt.ITFrom);
com.Parameters.AddWithValue("@ITStatus", itt.ITStatus);
i = com.ExecuteNonQuery();
con.Close();
return i;
}
public class ITTasksModel
{
[Key]
public int ITNumber { get; set; }
public string ITDescription { get; set; }
public string ITEnterDate { get; set; }
public string ITAssignedTo { get; set; }
public string ITEstimatedCompletion { get; set; }
public string ITPriority { get; set; }
public string ITFrom { get; set; }
public string ITStatus { get; set; }
}
数据库句柄:
//Load Data in Table when documents is ready
$(document).ready(function () {
loadData();
});
//Load Data function
@model IEnumerable<HelpDeskSupport.Models.ITTasksModel>
@{
Layout = null;
}
<!DOCTYPE html>
public ActionResult ViewAllTasks()
{
HelpDeskDBHandle dbhandle = new HelpDeskDBHandle();
return View(dbhandle.GetITTasksList());
}
//ADD IT TASK
[HttpPost]
public JsonResult AddTask(ITTasksModel Task)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.AddTaskIT(Task), JsonRequestBehavior.AllowGet);
}
//LIST IT TASKS
public JsonResult ListITTasks()
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.GetITTasksList(), JsonRequestBehavior.AllowGet);
}
public JsonResult GetTaskByTicketNumber(int id)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
var ITNumber = hdDB.GetITTasksList().Find(x => x.ITNumber.Equals(id));
return Json(ITNumber, JsonRequestBehavior.AllowGet);
}
//UPDATE TASK
[HttpPost]
public JsonResult UpdateTask(ITTasksModel Task)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
return Json(hdDB.UpdateTaskIT(Task), JsonRequestBehavior.AllowGet);
}
private void connection()
{
string constring = ConfigurationManager.ConnectionStrings["HelpDeskSupportConn"].ToString();
con = new SqlConnection(constring);
}
public List<ITTasksModel> GetITTasksList()
{
connection();
List<ITTasksModel> Ittaskslist = new List<ITTasksModel>();
string constring = ConfigurationManager.ConnectionStrings["HelpDeskSupportConn"].ToString();
string query = "SELECT * FROM ITTasks";
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
Ittaskslist.Add(new ITTasksModel
{
ITNumber = Convert.ToInt32(sdr["ITNumber"]),
ITDescription = Convert.ToString(sdr["ITDescription"]),
ITEnterDate = Convert.ToString(sdr["ITEnterDate"]),
ITAssignedTo = Convert.ToString(sdr["ITAssignedTo"]),
ITEstimatedCompletion = Convert.ToString(sdr["ITEstimatedCompletion"]),
ITPriority = Convert.ToString(sdr["ITPriority"]),
ITFrom = Convert.ToString(sdr["ITFrom"]),
ITStatus = Convert.ToString(sdr["ITStatus"])
});
}
}
con.Close();
}
return Ittaskslist;
}
}
public int AddTaskIT(ITTasksModel itt)
{
int i;
connection();
SqlCommand com = new SqlCommand("p_AddITTicket", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ITDescription", itt.ITDescription);
com.Parameters.AddWithValue("@ITEnterDate", itt.ITEnterDate);
com.Parameters.AddWithValue("@ITAssignedTo", itt.ITAssignedTo);
com.Parameters.AddWithValue("@ITEstimatedCompletion", itt.ITEstimatedCompletion);
com.Parameters.AddWithValue("@ITPriority", itt.ITPriority);
com.Parameters.AddWithValue("@ITFrom", itt.ITFrom);
com.Parameters.AddWithValue("@ITStatus", itt.ITStatus);
con.Open();
i = com.ExecuteNonQuery();
con.Close();
return i;
}
public int UpdateTaskIT(ITTasksModel itt)
{
int i;
connection();
con.Open();
SqlCommand com = new SqlCommand("p_UpdateITTicket", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@ITNumber", itt.ITNumber);
com.Parameters.AddWithValue("@ITDescription", itt.ITDescription);
com.Parameters.AddWithValue("@ITEnterDate", itt.ITEnterDate);
com.Parameters.AddWithValue("@ITAssignedTo", itt.ITAssignedTo);
com.Parameters.AddWithValue("@ITEstimatedCompletion", itt.ITEstimatedCompletion);
com.Parameters.AddWithValue("@ITPriority", itt.ITPriority);
com.Parameters.AddWithValue("@ITFrom", itt.ITFrom);
com.Parameters.AddWithValue("@ITStatus", itt.ITStatus);
i = com.ExecuteNonQuery();
con.Close();
return i;
}
public class ITTasksModel
{
[Key]
public int ITNumber { get; set; }
public string ITDescription { get; set; }
public string ITEnterDate { get; set; }
public string ITAssignedTo { get; set; }
public string ITEstimatedCompletion { get; set; }
public string ITPriority { get; set; }
public string ITFrom { get; set; }
public string ITStatus { get; set; }
}
这就是解决方案:
这ITNumber:$('#ITNum').val() 而不是
编号:$('#ITNum').val()这是解决方案: 这
ITNumber:$('#ITNum').val() 而不是
编号:$('#ITNum').val()这里有很多代码供我们查看。你能把问题缩小一点吗?从点击按钮开始。当您使用浏览器的调试器时,它是否调用了预期的功能?浏览器控制台上是否有任何错误?在浏览器的调试器中单步执行该函数,是否所有变量都具有您期望的值?是否发出了AJAX请求?请求是否包含您期望的数据?调试服务器端代码时,是否在该请求中调用了预期的控制器操作?它是否收到预期的数据?基本上,这会在哪里失败?更新是否传递了后端识别需要更新的记录所需的主键?除此之外,请参阅上面的注释-检查浏览器控制台,查看是否显示任何错误。我看到您的ITNumber字段已禁用。通常,禁用的控件不会传递到服务器,这可能不会被绑定。把它改为只读,然后看看结果如何。我找到了解决方案。我必须替换这里的很多代码,让我们看一下。你能把问题缩小一点吗?从点击按钮开始。当您使用浏览器的调试器时,它是否调用了预期的功能?浏览器控制台上是否有任何错误?在浏览器的调试器中单步执行该函数,是否所有变量都具有您期望的值?是否发出了AJAX请求?请求是否包含您期望的数据?调试服务器端代码时,是否在该请求中调用了预期的控制器操作?它是否收到预期的数据?基本上,这会在哪里失败?更新是否传递了后端识别需要更新的记录所需的主键?除此之外,请参阅上面的注释-检查浏览器控制台,查看是否显示任何错误。我看到您的ITNumber字段已禁用。通常,禁用的控件不会传递到服务器,这可能不会被绑定。改为只读,看看效果如何。我找到了解决方案。我必须替换