gpt4 book ai didi

c# - Html.ActionLink() 调用错误

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:05 26 4
gpt4 key购买 nike

我正在使用带有 Razor 引擎的 ASP.NET MVC 3。我有一个包含一行的局部 View :

@Html.ActionLink(ViewData["UserNameIfLoggedIn"], "Index", "Home")

此部分 View 呈现在我的 _Layout.cshtml View 中。调用 Controller / Action 的片段是这样的:

@{Html.RenderAction("UserLoggedIn", "User");}

我得到一个编译错误,指出:
'System.Web.Mvc.HtmlHelper' 不包含 'ActionLink' 的定义和最佳扩展方法重载 'System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper, string, string, object)' 有一些无效参数

我在另一个 MVC 应用程序(一个教程)中进行了类似的调用(相同数量的参数和相同的参数数据类型)并且它执行得很好。这可能是什么原因造成的??为什么这现在不起作用?

我知道这可能是一个非常新手的 MVC 问题,但我想不通。

编辑:解决方案是这样的:

@Html.ActionLink(ViewData["UserNameIfLoggedIn"].ToString(), "Index", "Home")

我只需要调用 ToString() 方法来获取字符串形式的参数。

最佳答案

您需要一个字符串作为 ActionLink 中的第一个参数,我不确定,但我认为 ViewData 是一个字典。

试试这个作为测试

@Html.ActionLink("test", "Index", "Home")

如果可行,那么您需要遍历 ViewData 并获取所有单个值,并将它们作为字符串传递。不过,我不确定您的 ViewData 是什么。

如果您只需要一个值,请改用 ViewBag。

http://brendan.enrick.com/post/Difference-Between-ViewBag-and-ViewData-in-MVC-3.aspx

关于c# - Html.ActionLink() 调用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7934479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com