Actionlink不会发布Id

时间:2015-10-23 13:52:39

标签: asp.net-mvc post actionlink

我是ASP.net和MVC的新手,请原谅我,如果这看起来像个愚蠢的问题。

我有以下Actionlink:

<span>@Html.ActionLink(item.MetadataDocumentSetId.ToString(), "ShowDocumentMetadata", new { controller = "Metadata", id = item.MetadataDocumentSetId })</span>

我也有这个(目前已注释掉):

<span>@Html.TextBoxFor(x => item.MetadataDocumentSetId, new { style = "display:inline"})</span>

当我使用文本框时,ID会发布,但不会在我使用该actionlink时发布。如何获取动作链接以发布ID?

同样,我是新手,请原谅我,如果我不是很好地解释它。

4 个答案:

答案 0 :(得分:1)

ActionLink不会发布值,如果您的帖子表示您希望根据您执行此操作的ID加载页面(这是GET,而不是POST):

控制器方法:

public ActionResult GetById(string id)
    {
      var currentId = id;

      // do something with currentId

      return this.View()
    }

ActionLink的:

@Html.ActionLink("link text", "GetById", "MyController", new { id = "12-34"}, null)

答案 1 :(得分:0)

您正在使用Html.ActionLink的错误重载,请尝试此选择:

@Html.ActionLink(item.MetadataDocumentSetId.ToString(), "ShowDocumentMetaData", 
        "Metadata", new { id = item.MetadataDocumentSetId }, null)

答案 2 :(得分:0)

试试这个

@Html.ActionLink("Title","Action", "Controller", new { id = item.MetadataDocumentSetId  }, null) 

答案 3 :(得分:0)

尝试

<span>@Html.ActionLink("Link text", "ShowDocumentMetadata", "Metadata", new { id = item.MetadataDocumentSetId.ToString()}, null)</span>

您选择了错误的ActionLink方法。有关详情,请访问https://msdn.microsoft.com/en-US/library/system.web.mvc.html.linkextensions_methods(v=vs.118).aspx

但是你想在RouteValues中传递参数

相关问题