我想知道是否有人可以帮助我。我为听起来像厚厚的声音而道歉,但我是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操作方法,但我无法使其工作?!
有人能看到我哪里出错吗? :(
答案 0 :(得分:4)
尝试
@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager",
new { htmlTokenId = item.Id , htmlDataTemplateId = 1 })
但是,您可能需要考虑使用模型(您自己的类型)将它们作为一个一起传递。
答案 1 :(得分:3)
您可以使用routeValues
参数传递这两个值:
@Html.ActionLink(
"ASSIGN", // linkText
"AssignTokenToDataTemplate", // actionName
"HostHtmlTokenManager", // controllerName
new { // routeValues
htmlTokenId = item.Id,
htmlDataTemplateId = 1
},
null // htmlAttributes
)
答案 2 :(得分:2)
您必须在匿名类中包含这两个参数:
@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager",
null, new { htmlDataTemplateId = 1, htmlTokenId = item.Id })
答案 3 :(得分:0)
尝试;
@Html.ActionLink("ASSIGN", "AssignTokenToDataTemplate", "HostHtmlTokenManager",
new { htmlTokenId = item.Id, htmlDataTemplateId = 1 })
马特