我正在学习ASP.NET核心MVC。 我有这个模型:
@echo off
setlocal EnableDelayedExpansion
set foo=bar
If ""=="" (
set foo=foobar
echo."No Expansion" %foo%
echo."Expanded " !foo!
)
Pause
我想将public class Todo
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
[MaxLength(4096)]
public string Content { get; set; }
public bool isCompleted { get; set; } = false;
public DateTime DateCreated { get; set; } = DateTime.UtcNow;
public string UserName { get; set; }
}
绑定到按钮上:当我点击该按钮时,它的值将被更改。目前我正在使用Ajax:
isCompleted
问题是,我无法在通话后更改按钮的类,我的按钮标记:
CompleteTodo = function (id, isCompleted) {
if (isCompleted === true) {
var data = "{\n \"isCompleted\": false,\n}"
} else {
var data = "{\n \"isCompleted\": true,\n}"
}
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:3000/api/todos/"+id,
"method": "PUT",
"headers": {
"content-type": "application/json",
"cache-control": "no-cache",
},
"data": data
}
$.ajax(settings).done(function (response) {
console.log(response);
});
}
那我怎么能这样做?谢谢。
答案 0 :(得分:0)
由于您使用服务器端绑定,因此如果没有刷新页面,按钮类就不会更改。 ajax完成后刷新页面:
$.ajax(settings).done(function (response) {
console.log(response);
location.reload(false);
});
或者使用javascript在客户端更改类(添加/删除)。
ps:确保在ajax调用item.isCompleted
之后按预期更改。