Asp.net mvc 相对于当前控制器的MVC Ajax操作
我试图从母版页中的链接获取Ajax调用 因此,我只想指定相对于当前页面/控制器的操作 i、 eAsp.net mvc 相对于当前控制器的MVC Ajax操作,asp.net-mvc,jquery,asp.net-mvc-routing,relative-url,Asp.net Mvc,Jquery,Asp.net Mvc Routing,Relative Url,我试图从母版页中的链接获取Ajax调用 因此,我只想指定相对于当前页面/控制器的操作 i、 e 我想调用为页面提供服务的任何控制器的“Save”操作。我原以为这会马上奏效,但似乎不行。有一个优雅的解决方案吗?如果你能直接看到这一点,你就可以做到 $.ajax({ url: '@Url.Action("Save")', type: "GET", // .. etc }); 若并没有,并且javascript在外部文件中,那个么可以将生成的url作为dat
我想调用为页面提供服务的任何控制器的“Save”操作。我原以为这会马上奏效,但似乎不行。有一个优雅的解决方案吗?如果你能直接看到这一点,你就可以做到
$.ajax({
url: '@Url.Action("Save")',
type: "GET",
// .. etc
});
若并没有,并且javascript在外部文件中,那个么可以将生成的url作为data-?
html5属性附加到元素。然后在执行ajax调用之前动态读取该属性值
<input type="text" data-save-action-url="@Url.Action("Save")" />
您应该永远不要在asp.net mvc中硬编码url。始终使用
Url.Action
。它在生成URL时检查您的路由配置,并始终根据它返回正确的值。如果您硬编码URL,则更改路由配置时,应用程序可能无法使用。您必须手动更改应用程序中的每一个url。如果您直接将此内容放到视图中,您可以这样做
$.ajax({
url: '@Url.Action("Save")',
type: "GET",
// .. etc
});
若并没有,并且javascript在外部文件中,那个么可以将生成的url作为data-?
html5属性附加到元素。然后在执行ajax调用之前动态读取该属性值
<input type="text" data-save-action-url="@Url.Action("Save")" />
您应该永远不要在asp.net mvc中硬编码url。始终使用
Url.Action
。它在生成URL时检查您的路由配置,并始终根据它返回正确的值。如果您硬编码URL,则更改路由配置时,应用程序可能无法使用。您必须手动更改应用程序中的每个url。对我来说,这个“@url.Action(“Save”)”不起作用,我在一个单独的文件中使用JS…@LuizNegrini您应该使用我的回答中描述的第二种方法。对我来说,这个“@url.Action(“Save”)”不起作用,我在一个单独的文件中使用JS…@LuizNegrini,您应该使用我的答案中描述的第二种方法