0

获得一些 url 参数后,我想稍后在我的 c# 代码中使用它们,但格式略有不同。

“http://example/myexample.aspx?attendees=john.sam&speakers=fred.will.tony.amy.al”

我可以使用以下方法以现有格式将值作为字符串获取:c# 代码

public string myattendees()
{
    string attendees;
    attendees = Request.QueryString["attendees"];
    return attendees;
}
public string myspeakers()
{
    string speakers;
    speakers = Request.QueryString["speakers"];
    return speakers;
}

myattendees 返回(用不带引号的句点分隔)

约翰山姆

和 myspeakers 返回(用不带引号的句点分隔)

弗雷德.威尔.托尼.艾米.al

但我想对其进行转换,以便它返回像这样的字符串,其中包含逗号分隔和单引号值。

“约翰”,“山姆”

“弗雷德”、“威尔”、“托尼”、“艾米”、“阿尔”

在 c# 中执行此操作的最佳方法是什么?使用 NameValueCollection?

*为清楚细节而编辑了问题。*edit - 修正拼写错误。

4

2 回答 2

3

此代码将为您提供一个通过分割点获得的字符串数组:

string[] speakers;
if (Request.QueryString["speakers"] == null)
    speakers = new string[0];
else
    speakers = Request.QueryString["speakers"].Split('.');
于 2012-07-15T14:08:52.347 回答
1

尝试这个:

public class MyClassGetQueryString
{

    private const string Attendees = "attendees";
    private const string Speakers = "speakers";

    public string MyAttendees()
    {
        return Request.QueryString[MyClassGetQueryString.Attendees] ?? string.Empty;
    }

    public string MySpeakers()
    {
        return Request.QueryString[MyClassGetQueryString.Speakers] ?? string.Empty;
    }

    public string[] MyAttendeesParts()
    {
        return this.MyAttendees().Split('.');
    } 

    public string[] MySpeakersParts()
    {
        return this.MySpeakers().Split('.');
    } 
}
于 2012-07-15T14:14:52.500 回答