C# 如何使用AJAX-MVC更新每个注释

C# 如何使用AJAX-MVC更新每个注释,c#,ajax,asp.net-mvc,C#,Ajax,Asp.net Mvc,我有一个页面,员工可以在每个RMA/产品下添加/编辑/删除他们自己的评论。添加方法其工作罚款员工可以在每个RMA/产品下添加他们自己的评论,删除方法也可以为每个评论工作罚款,但是我确实对每个评论的编辑方法有问题,让我解释一下与tblRMA_历史和tblComments的第一个关系,我在其中加入了tbl评论(RMAID)具有tbl RMA_历史(ID)(获取与哪个RMA相关的评论)。 设计Tbl RMA_历史: Id int描述文本132 somevalue133 somevalue 设计T

我有一个页面,员工可以
在每个RMA/产品下添加/编辑/删除他们自己的评论。添加方法其工作罚款员工可以在每个RMA/产品下添加他们自己的评论,删除方法也可以为每个评论工作罚款,但是我确实对每个评论的编辑方法有问题,让我解释一下与tbl
RMA_历史
和tbl
Comments
的第一个关系,我在其中加入了tbl评论(RMAID)具有tbl RMA_历史(ID)(获取与哪个RMA相关的评论)。

  • 设计Tbl RMA_历史:
Id int
描述文本

132 somevalue
133 somevalue

  • 设计Tbl注释:
ID int
RMAID int
MSG text

1 132你好世界
2 132史密斯约翰
3 132再见
4 133测试

  • 网址:

当我尝试将评论编辑到其他内容,然后点击提交按钮更新评论,但没有运气更新不起作用:(并且我还在UpdateComments操作中进行了调试,但它为空。

有谁能帮我或给我指出正确的方向吗!
提前感谢:)

视图:

UpdateComments操作:

    //List Of Comments Action
    public ActionResult RMA(int? id, VMRMA model)
        {


                    var queryTwo = (from RH in db.RMA_History

                           join Com in db.Comments on RH.Id equals Com.RMAID

                           where Com.RMAID == id

                           select new VMRMA.Comment_List
                           {
                               PM = Com.MSG,
                               ID = Com.ID,
                               Date = Com.Date,
                               Forfatter = Com.Writer,
                               whos = Com.Seen,
                               RMAID = Com.RMAID

                           });

        }


       model.Comment_Lists = queryTwo.ToList();

       return View(model);
   //UpdateComments Action

public JsonResult UpdateComments(VMRMA model)
{


    var u = db.Comments.Where(a => a.ID == model.ID).FirstOrDefault();

    if (u != null)
    {

        u.MSG = model.SMS;
        u.ID = model.ID;
        db.SaveChanges();

    }

    return Json(u, JsonRequestBehavior.AllowGet);

}
VM和注释列表视图模型:

  public class VMRMA

    { 
        public int ID { get; set; }
        public string SMS{ get; set; }
        public int? RMAID { get; set; }

        public List<Comment_List> Comment_Lists { get; set; }

        public class Comment_List
        {

            public Comment_List()
            {

            }

            public Comment_List(string PM, int? ID, DateTime Date, string Forfatter , string whos , int? RMAID)
            {
                this.PM = PM;
                this.ID = ID;
                this.Date = Date;
                this.Forfatter = Forfatter;
                this.whos = whos;
                this.RMAID = RMAID;

            }

            public int? ID { get; set; }

            public string PM { get; set; }

            public DateTime Date { get; set; }

            public string Forfatter { get; set; }

            public string whos { get; set; }

            public int? RMAID { get; set; }


        }


     }
公共类VMRMA
{ 
公共int ID{get;set;}
公共字符串SMS{get;set;}
公共int?RMAID{get;set;}
公共列表注释\列表{get;set;}
公共类注释列表
{
公众评论列表()
{
}
公共评论列表(字符串PM、int?ID、DateTime日期、字符串Forfatter、字符串whos、int?RMAID)
{
this.PM=PM;
this.ID=ID;
这个日期=日期;
这个。Forfatter=Forfatter;
this.whos=whos;
this.RMAID=RMAID;
}
公共int?ID{get;set;}
公共字符串PM{get;set;}
公共日期时间日期{get;set;}
公共字符串Forfatter{get;set;}
公共字符串whos{get;set;}
公共int?RMAID{get;set;}
}
}

我在你发布的代码中看不到UpdateComments操作如何被调用。是否有更多你没有发布的视图代码?比如周围的表单或javascript?@G\P我很糟糕,我放弃了添加AJAX部分sry,我只是补充说如果你从浏览器中查看AJAX帖子,是否在那里设置了值?如果是,你不能将UpdateComments方法从UpdateComments(VMRMA模型)更改为UpdateComments(int-ID,string-SMS)@G_P是它的集合,而不是在模式中biniding,将参数的值传递给我以前做过的控制器,但调试它时没有运气告诉我它的null尝试在UpdateComments操作中设置断点,并在调试器中查看请求对象-其中有值吗?
   //UpdateComments Action

public JsonResult UpdateComments(VMRMA model)
{


    var u = db.Comments.Where(a => a.ID == model.ID).FirstOrDefault();

    if (u != null)
    {

        u.MSG = model.SMS;
        u.ID = model.ID;
        db.SaveChanges();

    }

    return Json(u, JsonRequestBehavior.AllowGet);

}
  public class VMRMA

    { 
        public int ID { get; set; }
        public string SMS{ get; set; }
        public int? RMAID { get; set; }

        public List<Comment_List> Comment_Lists { get; set; }

        public class Comment_List
        {

            public Comment_List()
            {

            }

            public Comment_List(string PM, int? ID, DateTime Date, string Forfatter , string whos , int? RMAID)
            {
                this.PM = PM;
                this.ID = ID;
                this.Date = Date;
                this.Forfatter = Forfatter;
                this.whos = whos;
                this.RMAID = RMAID;

            }

            public int? ID { get; set; }

            public string PM { get; set; }

            public DateTime Date { get; set; }

            public string Forfatter { get; set; }

            public string whos { get; set; }

            public int? RMAID { get; set; }


        }


     }