我是ASP.net,MVC,C#的新手,我正在开展一个项目,要求我从数据库中删除一个人。该表专门设置为容纳添加和删除用户,因为将有少数人使用此特定应用程序。
我无法理解Controller Post功能从哪里获取参数。
我的控制器包含:
public ActionResult DeleteUser()
{
return View(new tblPermission());
}
[HttpPost]
public ActionResult DeleteUser(int? id)
{
if(id == null)
{
return View(id);
}
Permission.DeleteUser((int)id);
return RedirectToAction("AdminIndex");
}
当我测试这个函数时,我总是遇到id == null条件,因为我没有传入id。令我困惑的是,如何获取用户ID以将其传递给此函数调用?我是否需要获取此信息并将其传递到我的视图层中?
这是我的视图层:
@model MAA_v2.Models.tblPermission
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Remove</legend>
<p>
<input type="submit" value="Remove" name="Remove" class="button action-button " />
@Html.ActionLink("Back", "AdminIndex", "Maintenance", new { @class = "button action-button" })
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to Admin Maintenance", "AdminIndex")
</div>
答案 0 :(得分:1)
正在从http表单传递值,例如
<input type="hidden" id="id" name="id" value="123">
答案 1 :(得分:0)
您可以使用html帮助程序。假设您的视图模型具有包含用户标识的属性,则可以执行以下操作:
@using (Html.BeginForm()) {
<p>
@Html.HiddenFor(model => model.Id)
<input type="submit" value="Remove" name="Remove" class="button action-button " />
@Html.ActionLink("Back", "AdminIndex", "Maintenance", new { @class = "button action-button" })
</p>
}