1

我是 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>
4

2 回答 2

1

例如,值是从 http 表单传递的

<input type="hidden" id="id" name="id" value="123">
于 2013-01-28T18:25:13.687 回答
0

您可以为此使用 html 帮助程序。假设您的视图模型具有包含用户 ID 的属性,那么您可以这样做:

@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>
}
于 2013-01-28T18:32:11.333 回答