gpt4 book ai didi

c# - 如何有一个可变的 Action ?

转载 作者:行者123 更新时间:2023-11-30 21:30:58 25 4
gpt4 key购买 nike

在 C# 中使用 MVC 编写,我有一个向 {host}/clock 发出 HTTP 请求的设备。我想让不同的设备写到不同的地方,所以我想输入host为{.../company1/}{.../company2/}。然后,我会有一个 CompanyController,它将重定向对 company1company2 等的请求,而无需对公司名称进行硬编码。

因此对 {host}/company/company1/clock 的请求将写入 company1 的数据库。据推测,如果我输入 {host}/company/notacompany/,我仍然希望看到值 "notacompany",因此我可以将它重定向到其他地方。我如何在不专门编写 company1 操作的情况下将 company1 捕获为公司 Controller 中的地址,或者这是错误的方法?

最佳答案

您可以使用属性路由告诉路由引擎如何处理路由参数(company1company2 等...)。您可以使用 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.
}
}
}

关于c# - 如何有一个可变的 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53891076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com