2015-10-23 4 views
1

Я новичок в ASP.net MVC и прости меня, если это кажется глупым вопросом.ActionLink не отправляет Id

У меня есть следующие 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> 

При использовании текстового поля, идентификатор опубликует, но не тогда, когда я использую это actionlink. Как я могу заставить actionlink разместить Id?

Опять же, я новичок в этом так что простите меня, если я не объясняя все это слишком хорошо.

ответ

0

Вы используете неправильную перегрузку Html.ActionLink, попробуйте вместо этого:

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

Попробуйте

@Html.ActionLink("Title","Action", "Controller", new { id = item.MetadataDocumentSetId }, null) 
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 ​​

1

ActionLink не отправляет значения, если вы имеете в виду по почте, что вы хотите загрузить страницу на основе идентификатора вы Шоуда это сделать (это 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) 

 Смежные вопросы

  • Нет связанных вопросов^_^