这是我的.cshtml文件,我正在声明并将值分配给变量x。 当我单击ID为'b'的按钮时,我希望先使用此变量,然后再将其减小一个,但是当我调试该项目时,我看到变量x并未减小。我有什么错误?
@model IEnumerable<WebApplicationMVC.Models.Test>
@{
ViewData["Title"] = "Testing";
int x = Model.Count() - 1;
}
<script>
<div id="partial">
@await Html.PartialAsync("Question", Model.ToList()[0])
</div>
<input type="button" id="b" value="next" class="btn btn-default" />
$("#b").click(function () {
if (@x == 0) {
window.alert("Finished")
window.location.href = '@Url.Action("Index", "Subject")'
}
window.alert("Value of x is -> " + @x);
$.ajax({
url: '@Url.Action("Question", "Test")',
type: 'GET',
data: { id: '@Model.ToList()[x].ID' },
success: function (result) {
$("#partial").html(result);
}
});
@{
x--; //this doesn't work...
}
});
答案 0 :(得分:0)
该变量x在C#中运行在服务器上。它永远不会到达浏览器。
您希望变量在浏览器中单击时减少。
改用Javascript变量:
<script>
var x = @(Model.Count() - 1); // javascript variable, initialised to a value from Razor
if (x == 0)
{
// finished
}
window.alert("Value of x is -> " + x);
x--;