从MVC 3查看传递多个值的操作方法

问题描述 投票:3回答:4

我不知道是否有人能帮助我在这里。我的声音听起来有点像一个thicko道歉,但我是新来的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操作方法,但我无法得到它的工作?

任何人都可以看到我要去哪里错了吗? :(

asp.net-mvc-3
4个回答
3
投票

你可以通过使用routeValues参数都值:

@Html.ActionLink(
    "ASSIGN",                             // linkText
    "AssignTokenToDataTemplate",          // actionName
    "HostHtmlTokenManager",               // controllerName
    new {                                 // routeValues
        htmlTokenId = item.Id, 
        htmlDataTemplateId = 1 
    }, 
    null                                  // htmlAttributes
)

4
投票

尝试

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

然而,你可能要考虑使用模型(一种你自己的),以使他们一起传递为一体。


2
投票

你必须包括在匿名类两个参数:

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

0
投票

尝试;

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

马特

© www.soinside.com 2019 - 2024. All rights reserved.