无效的表达式标志G Jquery

时间:2016-11-02 15:30:24

标签: c# jquery flags

我正在尝试使用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);

这是来自网页的代码,这就是为什么它看起来与我的不同。我的控制器实际上叫做HomeController,但它只是出于某种原因需要Home

1 个答案:

答案 0 :(得分:2)

/Home/GetDetails被解释为regular expression,使用&#34; Home&#34;作为模式和&#34; GetDetails&#34;作为旗帜。这是一个无效的正则表达式,因此是错误。

你应该用引号括起来,比如::

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