Javascript 编辑显示的值时更改JQuery Datatables中行的样式

Javascript 编辑显示的值时更改JQuery Datatables中行的样式,javascript,jquery,css,asp.net-mvc-3,datatable,Javascript,Jquery,Css,Asp.net Mvc 3,Datatable,我有一个来自JQuery插件的datatable,它显示从数据库获取的对象。在每行的末尾都有一个“编辑”按钮,单击该按钮会打开一个带有字段的弹出窗口,允许用户更改对象 下面的代码是打开弹出窗口的“编辑”按钮 <td>@Ajax.ActionLink("Edit", "controllerMethodReturningEditView", new

我有一个来自JQuery插件的datatable,它显示从数据库获取的对象。在每行的末尾都有一个“编辑”按钮,单击该按钮会打开一个带有字段的弹出窗口,允许用户更改对象

下面的代码是打开弹出窗口的“编辑”按钮

<td>@Ajax.ActionLink("Edit",
                                 "controllerMethodReturningEditView",
                                 new
                                 {
                                     Id = @m.Id
                                 },
                                 new AjaxOptions
                                 {
                                     HttpMethod = "GET",
                                     UpdateTargetId = "popupBox",
                                     InsertionMode = InsertionMode.Replace,
                                     OnSuccess = "openPopup('myPopup')"
                                 })</td>
这个“editObjectView”只包含一个表单,其中包含用于获取输入的字段

@using(Html.BeginForm(...
           <label>...</label><input ... />
           .... and so on
@使用(Html.BeginForm(。。。
...
等等
然后在此弹出窗口中,允许用户编辑显示对象的值。当用户按下弹出窗口中的“保存”按钮时,新值将发送到将值(保存到对象)保存到数据库中的控制器方法。保存值时,控制器方法调用加载第一个视图的控制器方法(显示datatable的视图)和该方法请求数据库中的所有对象,以便显示新对象或对象的更改

现在我的问题是:在编辑对象后重新加载页面时,如何更改已编辑行的样式?我只想在最近编辑的行周围设置一个红色边框。我更希望不必通过用于重新加载页面的所有控制器方法发送对象


感谢您的帮助,非常感谢!

不知道返回到页面的内容,也不知道要更新的样式

假设您希望交替使用css类中的每一行。将内容添加到页面后,您可以执行如下操作:

$("tr:nth-child(odd)", "#YOUR_TABLE_ID").addClass("odd-row");
或者,确保将每行HTML格式化为一个唯一的ID标记“…”,然后在添加到页面后执行一些jQuery设置类

如果该请求是一个Ajax请求,并且您使用类似json的方式返回某些内容:

var json { Id = Table.ID, status = true };
然后OnSuccess事件将执行如下操作:

function OnSaveSuccess(data) {
    if (data.status) {
        $("#" + data.Id).addClass("highlight-row");
    } else {
    console.warn("save was not successful!");
    }
}

你能发布“controllerMethodReturningEditView”返回的内容吗?我还有一个关于datatables的问题:如果有人愿意帮助我的话。非常感谢你们的帮助!对于返回的数据,是否有上次修改的datetime记录?没有,也不需要。这只是一个临时的东西,请离开该页面,返回并删除它将被忽略,因为您正在刷新页面,而不是执行Ajax帖子并替换内容,这将很难知道发生了什么变化。如果您在上次更新时间中添加了一个隐藏的时间戳,那么您可以钩住一些JavaScript以突出显示“X”中已更新的任何行秒。如果这是可以做到的,那么我可以用一些代码来帮助你…我想你误解了我的问题。我想编辑表中的一行->通过将更改发送到数据库来更新对象->重新加载页面,并在包含刚编辑的对象信息的行上放置一个红色边框,以便用户可以验证他/她的更改。今天一切都正常,除了行本身有一个红色边框的部分,这就是我需要帮助的地方哦,谢谢你澄清。我不确定你返回的是什么,但我已经更新了示例,就像你返回json一样。我没有返回json对象。请看,该站点一直在使用数据库和everytjme从后端(wcf)请求从数据库获取数据时加载了视图数据。有关更新,请参阅我的问题,并感谢您尝试帮助我:)
function OnSaveSuccess(data) {
    if (data.status) {
        $("#" + data.Id).addClass("highlight-row");
    } else {
    console.warn("save was not successful!");
    }
}