c# - 如何将 System.Web.Configuration.WebConfigurationManager.AppSettings 从 String 转换为 INT

标签 c# asp.net-mvc

我在我的 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/

相关文章:

c# - 如何保护网页

c# - SendKeys.SendWait ("^c") 问题

c# - 在 C# 中减去百分比

javascript - 将对象数组从 JavaScript 发送到 C# Controller

c# - 为什么 ToString() 并不总是适用于 DateTime 对象?

asp.net-mvc - ASP.NET MVC 升级到 Beta : IControllerFactory is defined in an assembly that is not referenced

c# - WPF:如何将线条绑定(bind)到 UI 元素?

c# - 如何在没有 ASPX 的情况下在 C# 中创建 Web 框架?

c# - 如何以格式 23 :59:59 转换日期时间

javascript - 如何检测 "device mode"(MVC3 + Bootstrap)