无效表达式标志G

本文关键字:标志 表达式 无效 | 更新日期: 2023-09-27 18:16:11

我试图使用Jquery在我的页面上加载部分视图,但我一直得到这个无效表达式标志G错误,我不知道这意味着什么。

以下是我在cshtml文件中创建的代码:
<script>
    $('#getDetails')
        .click(function() {
            $('#detailsPlace').load(@Url.Action("GetDetails", "Home"));
        });
</script>
<table class="table">
    @foreach (var item in Model)
    {
        <tr>
            <td>
                <a href="#" id="getDetails">@Html.DisplayFor(modelItem => item.Description)</a>
            </td>
        </tr>
    }
</table>
<div id="detailsPlace"></div>

这是我的控制器中的代码:

    [HttpGet]
    public ActionResult Index()
    {
        ReferenceRepository test = new ReferenceRepository();
        var response = test.GetParts("A");
        return View(response);
    }
    public ActionResult GetDetails()
    {
        return PartialView();
    }

这只是我的PartialView中的一些虚拟代码:

<body>
    <p>HELLOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</p>
</body>

当我查看web控制台时也就是我发现错误的地方然后点击它它会把我带到这行代码

$('#detailsPlace').load(/Home/GetDetails);

这是来自网页的代码,这就是为什么它看起来不同于我的。我的控制器实际上叫做Home controller但由于某些原因它只期望Home

无效表达式标志G

/Home/GetDetails被解释为正则表达式,使用"Home"作为模式和"GetDetails"作为标志。这是一个无效的正则表达式,因此出现错误。

应该用引号括起来,像这样::

$('#detailsPlace').load('@Url.Action("GetDetails", "Home")');