Javascript 模态窗体上的更新按钮未在MVC中更新

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(

我在ViewAllTasks页面上显示数据,该页面包含删除、编辑和添加。除了更新版本外,它们都可以工作。我没有收到任何错误,程序似乎运行正常,但数据库没有更新,视图也没有更新。 Add做了一些类似的事情,并且工作正常:它在数据库中插入一条记录,并且通过loadData()javascript更新视图。我做错了什么?请帮忙。多谢各位

JAVASCRIPT:

    //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字段已禁用。通常,禁用的控件不会传递到服务器,这可能不会被绑定。改为只读,看看效果如何。我找到了解决方案。我必须替换