Передача нескольких значений из MVC3 View в ActionMethod - PullRequest
3 голосов
/ 24 ноября 2011

Интересно, кто-нибудь может мне здесь помочь? Прошу прощения за то, что выглядело как ореол, но я новичок в MVC3, и я пытаюсь передать 2 значения из вида в метод действия, но он просто не играет честно!

HTML:

@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager", 
new { htmlTokenId = item.Id }, new { htmlDataTemplateId = 1 })

МЕТОД ДЕЙСТВИЯ:

public ActionResult AssignTokenToDataTemplate(int htmlTokenId, int htmlDataTemplateId)
{
    // Do some database stuff here
    return View("AssignAnExistingTokenToHtmlDataTemplate", new {templateId = htmlDataTemplateId});
}

Я хочу передать два целых числа в метод действия AssignTokenToDataTemplate, но не могу заставить его работать?!

Кто-нибудь может увидеть, где я иду не так? (

Ответы [ 4 ]

4 голосов
/ 24 ноября 2011

Попробуйте

@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager", 
new { htmlTokenId = item.Id , htmlDataTemplateId = 1 })

Однако вы можете подумать об использовании модели (своего типа), чтобы передать их вместе как одно.

3 голосов
/ 24 ноября 2011

Вы можете передать оба значения, используя параметр routeValues:

@Html.ActionLink(
    "ASSIGN",                             // linkText
    "AssignTokenToDataTemplate",          // actionName
    "HostHtmlTokenManager",               // controllerName
    new {                                 // routeValues
        htmlTokenId = item.Id, 
        htmlDataTemplateId = 1 
    }, 
    null                                  // htmlAttributes
)
2 голосов
/ 24 ноября 2011

Вы должны включить оба параметра в анонимный класс:

@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager", 
            null, new { htmlDataTemplateId = 1, htmlTokenId = item.Id })
0 голосов
/ 24 ноября 2011

Постарайтесь;

@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager", 
new { htmlTokenId = item.Id, htmlDataTemplateId = 1 })

Мэтт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...