Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 相对于当前控制器的MVC Ajax操作_Asp.net Mvc_Jquery_Asp.net Mvc Routing_Relative Url - Fatal编程技术网

Asp.net mvc 相对于当前控制器的MVC Ajax操作

Asp.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

我试图从母版页中的链接获取Ajax调用

因此,我只想指定相对于当前页面/控制器的操作

i、 e


我想调用为页面提供服务的任何控制器的“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,您应该使用我的答案中描述的第二种方法