Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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中的路由”;指定具有前导'/'&引用;_Asp.net Mvc_Asp.net Core_Routes_Asp.net Core Mvc_Asp.net Mvc Routing - Fatal编程技术网

Asp.net mvc “MVC中的路由”;指定具有前导'/'&引用;

Asp.net mvc “MVC中的路由”;指定具有前导'/'&引用;,asp.net-mvc,asp.net-core,routes,asp.net-core-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Core,Routes,Asp.net Core Mvc,Asp.net Mvc Routing,我有一个名为Submit的razor页面,它给了我一个值不能为null。参数名称:viewData错误,因此我删除了代码顶部的“post-directed”页面。我现在的问题是,当我加载页面时,我发现以下错误: InvalidOperationException:相对页面路径“索引”只能在执行页面时使用。指定具有前导“/”的根相对路径,以在页面外部生成URL。如果您使用的是LinkGenerator,则必须提供当前HttpContext才能使用相对页面。> 我希望我的页面的URL为https:/

我有一个名为Submit的razor页面,它给了我一个
值不能为null。参数名称:viewData
错误,因此我删除了代码顶部的“post-directed”页面。我现在的问题是,当我加载页面时,我发现以下错误:

InvalidOperationException:相对页面路径“索引”只能在执行页面时使用。指定具有前导“/”的根相对路径,以在页面外部生成URL。如果您使用的是LinkGenerator,则必须提供当前HttpContext才能使用相对页面。>

我希望我的页面的URL为
https://localhost:44369/Submit
我该怎么做?以下是我在Startup.cs文件中的路由:

 app.UseMvc(routes =>
     {
        routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
     });

出现错误的原因是语法不正确。在其中一个Razor视图中,您可能有一个锚定标记,它可能看起来像:

<a asp-page="Index">Index</a>
索引
该语法(不带正斜杠/)用于Razor页面。在Razor视图中,以正斜杠作为页面名称的前缀:

<a asp-page="/Index">Index</a>
索引

如果其他一切都是正确的,你应该能够浏览https://localhost:44369/Submit 并且它应该显示提交页面中所写的内容。出现错误的原因是语法不正确。在其中一个Razor视图中,您可能有一个锚定标记,它可能看起来像:

<a asp-page="Index">Index</a>
索引
该语法(不带正斜杠/)用于Razor页面。在Razor视图中,以正斜杠作为页面名称的前缀:

<a asp-page="/Index">Index</a>
索引

如果其他一切都是正确的,你应该能够浏览https://localhost:44369/Submit 它应该显示提交页面中所写的内容,您可以在MVC项目中使用Razor Pages
asp操作。

用于MVC

1> 使用标记
asp操作
但不使用
asp页面
重定向

<a asp-action="Submit" class="btn btn-success form-control">Submit</a>


测试:

结果的屏幕截图:

有些文章可能会帮助您了解Razor页面和MVC。


您可以在MVC项目中使用Razor Pages
asp操作。

用于MVC

1> 使用标记
asp操作
但不使用
asp页面
重定向

<a asp-action="Submit" class="btn btn-success form-control">Submit</a>


测试:

结果的屏幕截图:

有些文章可能会帮助您了解Razor页面和MVC。


谢谢,我在一个div中隐藏了一个asp页面,这是导致错误的原因。我改变了它,它工作了,我不敢相信我之前没有看到/做过这件事。我花了令人沮丧的时间试图修复它。谢谢你,我有一个asp页面隐藏在一个div的深处,这是导致错误的原因。我改变了它,它成功了,我不敢相信我之前没有看到/做过这件事。我花了令人沮丧的时间试图修复它。