有 2 个不同的 IActionResults,一个有参数,一个没有参数
Have 2 Different IActionResults, one with a parameter and one without a parameter
我想要这样的不同 IActionResults。
[HttpGet]
public IActionResult CreateTournament()
{
ViewData["Creator"] = "User";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = "null",
};
return View();
}
[HttpGet]
public IActionResult CreateTournament(string OrganisationID)
{
ViewData["Creator"] = "Org";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = OrganisationID,
};
return View();
}
但是当我尝试导航到此页面时出现错误
AbiguousMatchException: The request matched multiple endpoints. Matches:
F4DEDTournaments.Controllers.TournamentController.CreateTournament (F4DEDTournaments)
F4DEDTournaments.Controllers.TournamentController.CreateTournament (F4DEDTournaments)
有没有像这样将两个代码块放在同一个方法中的修复方法?
[HttpGet]
public IActionResult CreateTournament(string OrganisationID)
{
if( OrganisationID == string.empty)}
{
ViewData["Creator"] = "User";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = "null",
};
return View();
} else {
ViewData["Creator"] = "Org";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = OrganisationID,
};
return View();
}
}
动作参数默认是可选的,所以我更喜欢一种方法:
[HttpGet]
public IActionResult CreateTournament(string OrganisationID)
{
ViewData["Creator"] = OrganisationID == null? "Org" : "User";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = OrganisationID == null? "null" : OrganisationID
};
return View();
}
我想要这样的不同 IActionResults。
[HttpGet]
public IActionResult CreateTournament()
{
ViewData["Creator"] = "User";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = "null",
};
return View();
}
[HttpGet]
public IActionResult CreateTournament(string OrganisationID)
{
ViewData["Creator"] = "Org";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = OrganisationID,
};
return View();
}
但是当我尝试导航到此页面时出现错误
AbiguousMatchException: The request matched multiple endpoints. Matches: F4DEDTournaments.Controllers.TournamentController.CreateTournament (F4DEDTournaments) F4DEDTournaments.Controllers.TournamentController.CreateTournament (F4DEDTournaments)
有没有像这样将两个代码块放在同一个方法中的修复方法?
[HttpGet]
public IActionResult CreateTournament(string OrganisationID)
{
if( OrganisationID == string.empty)}
{
ViewData["Creator"] = "User";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = "null",
};
return View();
} else {
ViewData["Creator"] = "Org";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = OrganisationID,
};
return View();
}
}
动作参数默认是可选的,所以我更喜欢一种方法:
[HttpGet]
public IActionResult CreateTournament(string OrganisationID)
{
ViewData["Creator"] = OrganisationID == null? "Org" : "User";
TournamentDTO tournamentDTO = new TournamentDTO()
{
OrganisationID = OrganisationID == null? "null" : OrganisationID
};
return View();
}