Controller函数在ASP.Net MVC中从哪里接收参数数据?

时间:2013-01-28 18:22:53

标签: asp.net-mvc-3

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

2 个答案:

答案 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>
}