我有一个带有React前端的ASP.NET Core应用程序。以下是我int main() {
/* 2D array declaration and size of each Array in the Programme*/
int Array[2][3];
printf ("***** Bubble Sort Assessment 2 ***** \n");
/*Counter variables for the loop*/
int i, j;
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("Enter numeric values for each Array [%d][%d]: \n", i, j);
scanf("%d", &Array[i][j]);
}
}
/*Displaying array elements*/
printf("\n The 2-D Array contains : \n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%d " , Array[i][j]);
if(j==2)
{
printf("\n");
}
}
}
printf("\n\nAscending : ");
for (int i = 0; i < 2; i++)
{
printf(" %d ", a[i]);
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
if (a[j] < a[i])
{
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
return 0;
}
中定义的路线。
Startup.cs
我在app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-catchall",
defaults: new { controller = "Home", action = "Index" });
});
中创建了一个测试操作,它将提供一个静态页面,但我没有点击它。我总是以HomeController
结束,这被定义为全能路线。
这是我在Home/Index
下的测试操作:
HomeController
我试图通过转到[Route("test")]
[AllowAnonymous]
public IActionResult Test()
{
return View();
}
来尝试它,但它无法正常工作。我也试过了http://localhost:123/test
。这也不起作用。
我在这里缺少什么?
答案 0 :(得分:1)
如果Home
控制器定义为:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[Route("test")]
[AllowAnonymous]
public IActionResult Test()
{
return View();
}
}
然后向http://localhost:123/test
的请求应该点击Test()
操作。属性路由优先于传统路由。由于您已使用Route
属性进行Test
操作,因此您在UseMvc
调用中映射的路线无关紧要,但这些路线并未使用。
http://localhost:123/test
未击中的唯一原因是您在控制器级别上也有Route
属性。如果它是Route("home")
,那么Test()
网址就可以http://localhost:123/home/test
行动。如果您想保留控制器级别属性,则将TestAction()
的路由属性从[Route("test")]
更改为[Route("/test")]
将使http://localhost:123/test
达到TestAction()
。
如果仍然没有帮助,请使用HomeController
的完整代码更新问题。