質問の回答を示す非常に単純なページがあります。 ユーザーが「便利」または「役に立たない」ボタンをクリックすると、その答えのIDを取得し、jQueryを使用してDB内の有用で無用なフィールドを更新したいと考えています。私の問題は、どのように各AnswerIdをjQueryを使って得ることができるかです。ここでjqueryで値を更新するIDを取得する
はAnswerModelです:ここでは
public class Answer
{
public int AnswerId { get; set; }
[Required]
[StringLength(500)]
public string Reply { get; set; }
public int Useful { get; set; }
public int Useless { get; set; }
}
はAnswerControllerです:ここでは
public async Task<ActionResult> Index()
{
return(await db.Answers.toListAsync());
}
public async Task<JsonResult> Helpful(int? ansId, int? useful, int? uselees)
{
Answer model = await db.Answers.FindAsync(ansId);
if (model != null)
{
model.Useful = model.Useful + (int)useful;
model.Useless = model.Useless + (int)useless;
db.Entry(model).State = EntityState.Modified;
await db.SaveChangesAsync();
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
}
return Json(new { Success = false }, JsonRequestBehavior.AllowGet);
}
はインデックスビューです:
@model IEnumerable<project.Models.Answer>
@foreach (var item in Model)
{
<table class="table">
<tr>
<td>
Reply: @item.Reply
</td>
<th>
<input type="button" id="usfBtn" value="Useful" />
</th>
<th>
<input type="button" id="uslBtn" value="Useless" />
</th>
</tr>
</table>
}
そして、ここではスクリプトです:
$(function() {
$("#usfBtn").click(function() {
Usf(Alarm);
});
$("#uslBtn").click(function() {
Usl(Alarm);
});
function Usf(callback) {
$.ajax(
{
type: "Get",
url: "/Answer/Helpful",
data: {
useful: 1,
useless: 0,
},
dataType: "json",
success: function (result) {
callback(result);
}
});
}
function Usl(callback) {
$.ajax(
{
type: "Get",
url: "/Answer/Helpful",
data: {
useful: 0,
useless: 1,
},
dataType: "json",
success: function (result) {
callback(result);
}
});
}
function Alarm(arg) {
if (arg.Success) {
window.location.href = window.location.pathname;
}
}
});
私の質問はどのように私は各回答のIDを取得することができますが、私はそれらのすべて( "usfBtn"または "uslBtn")のためのただ1つのボタンを持っていますか?
を送ってデータを読み取ります! –