我正在尝试使用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
答案 0 :(得分:2)
/Home/GetDetails
被解释为regular expression,使用&#34; Home&#34;作为模式和&#34; GetDetails&#34;作为旗帜。这是一个无效的正则表达式,因此是错误。
你应该用引号括起来,比如::
$('#detailsPlace').load('@Url.Action("GetDetails", "Home")');