我已经看过一些关于此的帖子,但是仍然无法理解为什么这不起作用
$.get('@Url.Action("Edit","Contacts")', {id: parseInt($(this).attr('id')) } , function (result) {
显然这样做
$.get("/Contacts/Edit/" + parseInt($(this).attr('id')), function (result) {
我已尝试使用替换但仍然获得正确的ID但@ Url.Actions显示为字符串本身生成奇怪的路由,因为前一代码的这个,在我看来url.action没有执行,对吧?
本地主机:53720/@Url.Action(编辑,%20Contacts)ID = 23918
版本:实际上为该代码生成的路径是
本地主机:53720 / Url.Action(%22Edit%22%20%22Contacts%22)ID = 23918
另一个是我做的另一次尝试
任何人都可以告诉我为什么?
由于
答案 0 :(得分:2)
要在javascript中访问HtmlHelpers,javascript代码必须位于View页面内,而不是在javascript文件中
<script>
var url = '@Url.Action("Edit","Contacts")';
console.log(url);
</script>
答案 1 :(得分:0)
看起来@Url.Action
未被调用且URL
未被返回。
var url = '@Url.Action("Edit","Contacts")';
$.get(url, {id: parseInt($(this).attr('id')) } , function (result)
如果JS抱怨上述内容,您可以尝试事先指定@:
,让razor
获得控制权。