C#-简单子菜单

C#-简单子菜单,c#,razor,C#,Razor,我想在PC上做一个简单的下拉列表 <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("About", "About", "

我想在PC上做一个简单的下拉列表

 <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
                <li>@Html.ActionLink("About", "About", "Home")</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home")</li>                             
                <li class="dropdown">
                    <a class="dropdown-toggle" role="button" aria-expanded="false" href="@Html.ActionLink("Gaming", "Gaming", "Gaming")" data-toggle="dropdown">Gaming <span class="caret"></span></a>
                    <ul class="dropdown-menu" role="menu">
                       <li>@Html.ActionLink("PC", "Gaming","Gaming")</li>                    
                    </ul>
                </li>                                                         
            </ul>
            @Html.Partial("_LoginPartial")
        </div>

  • @ActionLink(“主页”、“索引”、“主页”)
  • @ActionLink(“关于”、“关于”、“主页”)
  • @ActionLink(“联系人”、“联系人”、“主页”)
    • @Html.ActionLink(“PC”、“游戏”、“游戏”)
@Html.Partial(“_LoginPartial”)
程序崩溃:

“/”应用程序中出现服务器错误


从客户端检测到潜在危险的请求。路径值(您不应该将
@Html.ActionLink
放入游戏项目的
href
属性中,请改用
@Url.Action

@Html.ActionLink
创建整个
a
标记,而您只需要控制器中正确操作的URL,这就是
@URL.action
的用途

@Html.ActionLink(“名称”、“操作”、“控制器”)的结果是


@Url.Action(“Action”,controller”)
的结果就是Url字符串
'/controller/Action'

您的问题是这一行:

<a class="dropdown-toggle" role="button" aria-expanded="false" href="@Html.ActionLink("Gaming", "Gaming", "Gaming")" data-toggle="dropdown">Gaming <span class="caret"></span></a>

这不是一个有效的
href
。您应该改为使用。它只生成URL。

链接呈现为什么?什么?我只想单击游戏并打开一个子菜单,其中包含PC Inside,我只想澄清问题。有时我们会这样做。您能回答我的查询吗?您的Razor代码呈现为什么HTML?我该怎么做t inside href then?我在回答的底部告诉过你。
@Html.Action
调用控制器操作,如链接的MSDN文档中所述,它不会生成URL,
@URL.Action
会生成URL。@Amy我试图让它工作,但现在当我单击Gaming/PC时,它会转到Gaming而不是Gaming/PC@xDDD如果你不能或不愿提供对于呈现的HTML,我想我不能再帮助您了。什么?两个答案都解释了为什么。我的答案详细说明了为什么这是一个问题。您阅读了我的答案吗?您不明白什么?
@HTML
帮助器主要用于生成部分视图,例如
@HTML。ActionLink
生成
标记。
@Url。Action
只是为您期望的操作生成一个url。我扩展了我的答案这应该是公认的答案。我错误地使用了
@Html.Action
,它应该是
@url.Action
。无论如何,我将保留我的答案。
<a class="dropdown-toggle" 
   role="button" 
   aria-expanded="false" 
   href="<a href=".....">blah</a>" 
   data-toggle="dropdown">Gaming <span class="caret"></span></a>