我的 ASP.NET MVC 應用程式的一部分使用 Vue 和 Vue 路由。
例子:
/account <-- is from AccountController
/account/Extra <-- if from vue-router.
每當我在瀏覽器中輸入 url 時/account/extra,都會出現“找不到頁面”錯誤。這是正確的,因為 ASP.NET MVC 只知道/account. 但這對我來說是個問題。
我的路由:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}",
new { controller = "Home", action = "Index" });
endpoints.MapControllerRoute(
name: "api",
pattern: "api/{controller=Home}/{action=Index}/{id?}",
);
endpoints.MapRazorPages();
});
我在 stackoverflow 上沒有發現任何線索,谷歌搜索也沒有讓我走得更遠。也許我正在搜索錯誤的關鍵字?
無論如何,有人有這方面的經驗嗎?
uj5u.com熱心網友回復:
要啟用客戶端路由,可以配置回退路徑以將任何未決議的服務器端路由傳遞到客戶端應用程式。
在Startup類的Configure方法中,可以添加
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapFallbackToFile("/index.html");
});
uj5u.com熱心網友回復:
嘗試使用屬性路由
[Route("[controller]/[action]")]
[Route("[controller]/extra/[action]")]
public class AccountController : Controller
{
[Route("~/[controller]")]
[Route("~/[controller]/extra")]
public IActionResult Index () {} //your home page for Account Controller
[Route("{id}")]
public IActionResult MyAction (int id) {}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335854.html
標籤:C# asp.net-mvc Vue.js 路线 Vue路由器
