我在我的 web.config 文件中定义了以下内容:-
<add key="TechPageSize" value="20" />
但是我无法在我的分页参数中引用这个值,如下所示:-
var servers = repository.AllFindServers(withOutSpace).OrderBy(a => a.Technology.Tag).ToPagedList(page, (Int32)System.Web.Configuration.WebConfigurationManager.AppSettings["TechPageSize"]);
我会得到一个错误,它不能将 String 更改为 INT。
知道问题出在哪里吗?
最佳答案
int techPageSize;
if (!int.TryParse(ConfigurationManager.AppSettings["TechPageSize"], out techPageSize))
{
throw new InvalidOperationException("Invalid TechPageSize in web.config");
}
Int32.TryParse
有两个作用:
- 如果可能,它将应用程序设置转换为整数并将结果存储在
techPageSize
中。 - 如果无法转换该值,该方法返回
False
,允许您按您认为合适的方式处理错误。
PS:用ConfigurationManager.AppSettings
就够了,一旦您导入了 System.Configuration
命名空间。
关于c# - 如何将 System.Web.Configuration.WebConfigurationManager.AppSettings 从 String 转换为 INT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20046786/