C# 如何重定向到静态文件?
我有一个返回静态文件的控制器操作:C# 如何重定向到静态文件?,c#,asp.net-core,C#,Asp.net Core,我有一个返回静态文件的控制器操作: public IActionResult GetPage([FromQuery] string form) { var page = string.Concat(form, ".html"); return File(Path.Combine("~/html/", page), "text/html"); } 请求的url可能如下所示: https://myurl/api/contr
public IActionResult GetPage([FromQuery] string form)
{
var page = string.Concat(form, ".html");
return File(Path.Combine("~/html/", page), "text/html");
}
请求的url可能如下所示:
https://myurl/api/controller?form=myform
所服务的文件,在本例中为“myform.html”,它有一个指向位于同一文件夹中的另一个静态文件的链接,例如:
<a href="secondform.html" target="_self">Another form</a>
问题是为第二个文件生成的链接是:
https://myurl/api/controller/secondform.html
这显然不起作用
我如何才能让这个场景工作?是否需要使用重定向?将
myform.html
中的链接更改为:
<a href="api/controller?form=secondform" target="_self">Another form</a>
[Route("api/controller/{form}")]
public IActionResult GetPage([FromQuery] string form)
{
if (!form.Contains(".html"))
var page = string.Concat(form, ".html");
return File(Path.Combine("~/html/", page), "text/html");
}