Asp.net mvc Actionlink没有';邮政编码

Asp.net mvc Actionlink没有';邮政编码,asp.net-mvc,post,actionlink,Asp.net Mvc,Post,Actionlink,我是ASP.net和MVC的新手,所以如果这个问题看起来很愚蠢,请原谅我 我有以下Actionlink: <span>@Html.ActionLink(item.MetadataDocumentSetId.ToString(), "ShowDocumentMetadata", new { controller = "Metadata", id = item.MetadataDocumentSetId })</span> @Html.ActionLink(item.Met

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

我有以下Actionlink:

<span>@Html.ActionLink(item.MetadataDocumentSetId.ToString(), "ShowDocumentMetadata", new { controller = "Metadata", id = item.MetadataDocumentSetId })</span>
@Html.ActionLink(item.MetadataDocumentSetId.ToString(),“ShowDocumentMetadata”,新的{controller=“Metadata”,id=item.MetadataDocumentSetId})
我还有这个(目前已被注释掉):

@Html.TextBoxFor(x=>item.MetadataDocumentSetId,新的{style=“display:inline”})
当我使用文本框时,ID将发布,但当我使用actionlink时不会。如何获取actionlink以发布Id


同样,我是新手,请原谅我解释得不太清楚。

您使用了错误的
Html.ActionLink重载,请尝试以下方法:

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

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

@Html.ActionLink(“链接文本”、“ShowDocumentMetadata”、“元数据”,新{id=item.MetadataDocumentSetId.ToString()},null)
您选择了错误的ActionLink方法。有关更多信息-


但是您希望在RouteValues中传递参数,ActionLink不发布值,如果您所说的post是指您希望基于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)
public ActionResult GetById(string id)
    {
      var currentId = id;

      // do something with currentId

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