使用MVC在C#中编写,我有一个设备可以向{host}/clock.我想让不同的设备写入不同的位置,所以我想以{.../company1/},{.../company2/}的身份进入主机。然后我会有一个CompanyController,它可以重定向对company1、company2等的请求,而不需要硬编码公司的名称。
因此,对{host}/company/company1/clock的请求将写入到company1的数据库。假设我输入了{host}/company/notacompany/,我仍然希望看到值"notacompany",这样我就可以将它重定向到其他地方。在不专门编写company1操作的情况下,如何在公司控制器中捕获company1作为地址,或者这样做是错误的吗?
发布于 2018-12-22 05:58:34
您可以使用属性路由来告诉路由引擎如何处理路由参数(company1、company2等)。您可以使用switch并在default中处理notacompany
public class CompanyController : Controller {
[Route("/[controller]/{companyId}")]
public ActionResult Index(string companyId) {
switch(companyId) {
case "company1":
//Process company1.
case "company2":
//Process company2.
default:
//Process 'notacompany' here.
}
}
}https://stackoverflow.com/questions/53891076
复制相似问题