解析包含逗号","

时间:2017-12-01 12:42:45

标签: c# asp.net

我有一个表单,可以使用多个值的名称(例如:<input name="name1" type="text">,而其他输入具有相同的名称name1)。当我想在处理程序中获取数据时,我使用方法HttpUtility.ParseQueryString()然后将其放在var nameValue中,因此当我想获取值时,我会nameValue["name1"]。问题是,当我得到name1的值时,我得到"name1_value1,name1_value2"并将逗号作为分隔符,因此我需要将其拆分为单独获取"name1_value1""name1_value2",但如果{{1}实际上包含一个逗号name1_value1然后就出现了问题。 我所做的是将(,)转换为字符串,然后用context.Request.Params替换所有逗号(在参数中编码为%2c)并在我完成拆分后再次替换它们但是我是不确定这是否会正常工作,因为可能还有另一个包含;;;

的特殊字符

1 个答案:

答案 0 :(得分:2)

如你所说nameValue["name1"]将以逗号加入结果,这就是你不想要的。因此,最好忘记HttpUtility.ParseQueryString()并自己解析查询字符串。

string queryString = url.Split('?')[1];
string[] qsArray = queryString.Split('&');
var name1 = qsArray.ToList().Where(A => A.StartsWith('name1'));

现在你的价值完​​全分开了。