在MVC5中,将ActionLink转换为HTML按钮

14 浏览
0 Comments

在MVC5中,将ActionLink转换为HTML按钮

我有如下所示的ActionLinks:\n


    @Html.ActionLink("设置", "RedirectToSettings", new { locationId = item.LocationId })

\n但我想将其变成一个按钮,而不仅仅是可点击的文本。无论是使整个单元格可点击还是添加按钮元素。\n我查看了其他类似的问题,如HTML按钮调用MVC控制器和操作方法,但我没有找到如何使其工作的方法。\n我尝试直接将其变成一个按钮,并使用`input`:\n


    

\n我能够得到按钮,但点击它不会将我重定向到控制器中指定的\"RedirectToSettings\"页面。\n

public ActionResult RedirectToSettings(int locationId)
{
    // 使用locationId进行操作
    return RedirectToAction("StationSettings");
}

\n按钮:\n\"enter\n如何使其工作?非常感谢任何帮助!\n更新:\n使用`Html.BeginForm`解决了问题,感谢Serge的建议。\n


    @using (Html.BeginForm("RedirectToSettings", "Configs", new { locationId = item.LocationId }))
    {
        
    }

0
0 Comments

问题出现的原因是在HTML按钮中使用ActionLink时,locationId的值没有被正确设置。解决方法是将routevalues参数放置在BeginForm声明中。以下是解决问题的完整代码:


    @using (Html.BeginForm("RedirectToSettings", "Settings", new { locationId = item.LocationId }))
    {
        
    }

通过将locationId作为routevalues参数传递给BeginForm方法,可以确保它的值被正确设置。这样就能够正常使用ActionLink生成HTML按钮,并正确地将locationId传递给相关的控制器方法。感谢Serge的指导,帮助解决了这个问题。

0