Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
C# 如何使用Angular和MVC解决页面刷新问题?_C#_Asp.net Mvc_Angular - Fatal编程技术网

C# 如何使用Angular和MVC解决页面刷新问题?

C# 如何使用Angular和MVC解决页面刷新问题?,c#,asp.net-mvc,angular,C#,Asp.net Mvc,Angular,我在MVC5中使用angular 5,我在这里面使用angular routing。一切正常,但当浏览器地址栏上有一个角度路由URL,我正在执行F5时,它给出了错误-无法找到资源 我确信这是因为这个URL模式与我的MVC路由不匹配,但它与角度路由匹配 如何解决此问题?可能需要为IIS安装URLRewiter模块,然后需要在system.webServer/rewrite/rules的web.config <rule name="Angular Routes" stopProcessing=

我在MVC5中使用angular 5,我在这里面使用angular routing。一切正常,但当浏览器地址栏上有一个角度路由URL,我正在执行F5时,它给出了错误-无法找到资源

我确信这是因为这个URL模式与我的MVC路由不匹配,但它与角度路由匹配


如何解决此问题?

可能需要为IIS安装URLRewiter模块,然后需要在
system.webServer/rewrite/rules的
web.config

<rule name="Angular Routes" stopProcessing="true">
  <match url=".*" />
  <conditions logicalGrouping="MatchAll">
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
  </conditions>
  <action type="Rewrite" url="/Home/Index?url={UrlEncode:{R:0}}" />
</rule>


解决这个问题很简单。在导入模块中执行此操作: forRoot(路由,{useHash:true})。 在这种情况下,哈希后的Url将不再发送到服务器端。 有关更多信息,请访问