Action Link当前未指向MVC中的控制器操作

时间:2017-04-11 12:26:55

标签: asp.net-mvc razor

我有像facebook组一样的观点。如果用户当前未加入群组,则会显示加入按钮。 我用这行来从按钮

调用joinCommunity()动作
<button>@Html.ActionLink("Join", "joinCommunity", new { id = @Model.Community.CommunityID })</button>

但它没有指向我的控制器中的joinCommunity()操作。 这是我在控制器中的功能。

    [HttpPost]
    public ActionResult joinCommunity(int CommID)
    {
        var UseriD = db.Users.Where(u => u.UserName == User.Identity.Name).SingleOrDefault().Id;
        var newUser = new CommunityUser()
        {
            UserID = UseriD,
            CommunityID = CommID
        };
        db.CommunityUsers.Add(newUser);
        db.SaveChanges();
        return View("Community");
    }

我没有得到(断点)这个功能。

1 个答案:

答案 0 :(得分:0)

您的操作类型为[HttpPost]。但ActionLink会创建<a>元素,用于[HttpGet]

尝试删除[HttpPost]

但如果该特定操作用于发布目的,请将该属性保留在那里并为[HttpGet]创建另一个操作。

如果您想发布数据,请不要使用,不要使用ActionLink。添加如下表单:

@using (Html.BeginForm("joinCommunity", "[CONTROLLER_NAME]", FormMethod.Post))
{
    <input type="hidden" name="CommID" value="@Model.Community.CommunityID" />
    <br/>
    <input type="submit" value="Join" />

}