我有一个包含多列和一个开关的HTML表。我在表格中显示数据库中的信息。桌子有一个开关。当用户点击开关时我想将UserId传递给AJAX函数并运行脚本,但是我无法在javascript函数中检索该值。
以下是有问题的HTML Razor代码的一部分:
@model IEnumerable<WebApplication8.Models.ManageUserViewModel>
@foreach (var item in Model)
{
string UserId = @Html.DisplayFor(model => item.UserId).ToString();
Session["UserId"] = UserId;
<tr>
<td style="display:none" id="UserId">@UserId</td>
<td align="center">
<div class="btn-group btn-toggle">
@if (item.ActiveUser)
{
<button class="btn btn-sm btn-success active" >ON</button>
<button class="btn btn-sm btn" onclick="test()">OFF</button>
}
else
{
<button class="btn btn-sm btn" onclick="On()">ON</button>
<button class="btn btn-sm btn-success active">OFF</button>
}
</div>
</td>
</tr>
}
这是迷你测试功能,我试图获取UserId的值:
function test(){
var UserId = document.getElementById('UserId');
alert ('UserId');
}
非常感谢任何建议/解决方法。
答案 0 :(得分:0)
你正在使用ajax,所以这不是必需的。只需在ajax指向的任何操作中使用Session [“UserId”]。
编辑:此外,您在此处尝试执行的操作很容易被客户端操纵,以便他们能够以这种方式访问其他用户帐户。你需要一些服务器端代码来验证他说他无论如何的用户......只需将所有用户信息留在服务器上。