gpt4 book ai didi

c# - 在 ASP.NET 中转换/访问 QueryString 值

转载 作者:IT王子 更新时间:2023-10-29 04:33:33 24 4
gpt4 key购买 nike

我很好奇每个人都做了什么来处理/抽象 ASP.NET 中的 QueryString。在我们的一些网络应用程序中,我在整个网站上看到了很多这样的东西:

int val = 0;
if(Request.QueryString["someKey"] != null)
{
val = Convert.ToInt32(Request.QueryString["someKey"]);
}

有什么更好的方法来处理这种恶心?

最佳答案

我倾向于喜欢将它们抽象为属性的想法。例如:

        public int age { 
get
{
if (Request.QueryString["Age"] == null)
return 0;
else
return int.Parse(Request.QueryString["Age"]);
}
}

如果需要,您可以添加更多验证。但我倾向于以这种方式包装我所有的查询字符串变量。

编辑:---另外正如另一位发帖人指出的那样,您必须在每个页面上创建这些属性。我的回答是不,你没有。您可以在一个类中创建这些属性,您可以将其称为“QueryStrings”或其他名称。然后你可以在你想要访问你的查询字符串的每个页面中实例化这个类,然后你可以简单地做一些像

var queryStrings = new QueryStrings();
var age = queryStrings.age;

这样您就可以将所有用于访问和处理每种类型的查询变量的逻辑封装在一个可维护的位置。

编辑2:---因为它是该类的一个实例,您还可以使用依赖注入(inject)在您使用它的每个地方注入(inject) QueryStrings 类。 StructureMap做得很好。这也允许您模拟 QueryStrings 类并在您想要进行自动化单元测试时注入(inject)它。模拟它比 ASP.Net 的 Request 对象容易得多。

关于c# - 在 ASP.NET 中转换/访问 QueryString 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604480/

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