我有一个这样的 URL:
https://bachqy.desk.info/automalog.aspx?user=""&carid=""
在我的 Controller 中,我有一个 action 方法,它传递上面的两个参数,以重定向 URL。我不想在 Controller 中对 URL 进行硬编码。
public ActionResult NavigateToCar(string userId, string CarID)
{
return new RedirectResult(
"https://bachqy.desk.info/automalog.aspx?user="+userId+"&carid="+CarID);
}
在 Controller 内部,在 ActionResult 中,如何从 web.config 访问 URL 并传递以下参数?
如何在 ASP MVC 中传递 web.config 中的 URL 并访问 URL 并在 Controller 中传递参数?
请您参考如下方法:
使用ConfigurationManager.AppSettings从您的“Web.config”文件中读取。
要定义您的 URL,您可以在该文件中使用类似这样的内容:
<appSettings>
<add
name="MyUrlFromWebConfig"
value="https://bachqy.desk.info/automalog.aspx?user={UserID}&carid={CarID}" />
</appSettings>
(确保将 & 转义/编码为 & 以保持您的 XML 有效)
稍后在您的代码中,使用:
public ActionResult NavigateToCar(string userId, string CarID)
{
var url = ConfigurationManager.AppSetting["MyUrlFromWebConfig"];
url = url.Replace("{UserID}", Server.UrlEncode(userId));
url = url.Replace("{CarID}", Server.UrlEncode(carID));
return new RedirectResult(url);
}
(还要确保对替换字符串进行 URL 编码,使其仍然具有有效的 URL)
我会在“Web.config”文件的 URL 中使用 {0} 和 {1} 投票反对,然后做您自己的占位符和替换(如我上面示例中的 {UserID})更具表现力,而不是依赖您的 String.Format 调用来获得正确的编号和顺序来自“Web.config”条目的格式参数。
