Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# <;asp控制器>;使用asp片段don';无法工作并导致控制台中出现异常_C#_Jquery_Asp.net Core Mvc - Fatal编程技术网

C# <;asp控制器>;使用asp片段don';无法工作并导致控制台中出现异常

C# <;asp控制器>;使用asp片段don';无法工作并导致控制台中出现异常,c#,jquery,asp.net-core-mvc,C#,Jquery,Asp.net Core Mvc,我有一个餐厅菜单网站,我想直接从登陆页面导航到菜单片段。当我将url粘贴到浏览器中时,这可以正常工作,但在单击链接后,控制台中会出现异常: SCRIPT5022: Syntax error, unrecognized expression: /Menu#Drinks jquery.js (1580,2) 以下是我尝试的代码: <a asp-controller="Menu" asp-fragment="Drinks">Drinks</a>

我有一个餐厅菜单网站,我想直接从登陆页面导航到菜单片段。当我将url粘贴到浏览器中时,这可以正常工作,但在单击链接后,控制台中会出现异常:

    SCRIPT5022: Syntax error, unrecognized expression: /Menu#Drinks
    jquery.js (1580,2)
以下是我尝试的代码:

    <a asp-controller="Menu" asp-fragment="Drinks">Drinks</a>
    <a href="/Menu#Drinks">Drinks 2</a>
    <a href="http://localhost:64749/Menu#Drinks">Drinks 3</a>
所有的Nuget都是最新的。Bower.json: “引导”:“3.3.7”, “jquery”:“^3.2.1”, “jquery验证”:“^1.16.0”,
“jquery验证不引人注目”:“^3.2.6”

这并不是一个完整的解决方案,但我设法让它发挥作用。我并没有链接到片段,而是链接到控制器中重定向到给定url的另一个操作

<a asp-controller="Menu" asp-action="RedirectToFragment" asp-route-fragment="Pizza">
        ...view more
</a>

public IActionResult RedirectToFragment(string fragment)
{
    return Redirect(string.Concat(@"\Menu#", fragment));
}

…查看更多
公共IActionResult重定向到片段(字符串片段)
{
返回重定向(string.Concat(@“\Menu#”,fragment));
}

把它留在这里。。。也许将来会有人找到合适的解决办法。

感谢kkopieczek,因为这对我来说也是一个非常恼人的问题。我确实对重定向语句有点小问题,但作为另一种选择,它工作得很好:

  return Redirect(Url.RouteUrl(new { controller = "Home", action = "Index" }) + "#" + fragment);
  return Redirect(Url.RouteUrl(new { controller = "Home", action = "Index" }) + "#" + fragment);