C# 从请求向字典添加一些参数

C# 从请求向字典添加一些参数,c#,asp.net,C#,Asp.net,我想从Request 我需要来自请求。参数所有带有文本的参数都包含“txt”我有更多类型的文本结构: "ctl00$cphMain$repDelTypes$ctl00$ucDel$txtPhone" "ctl00$cphMain$repDelTypes$ctl00$ucDel$txtPhone2" "ctl00$cphMain$repDelTypes$ctl00$ucDel$txtPhone3" "ctl00$cphMain$repDelTypes$ctl00$ucDel$txtAdr1" "c

我想从
Request

我需要来自请求。参数所有带有文本的参数都包含“txt”我有更多类型的文本结构:

"ctl00$cphMain$repDelTypes$ctl00$ucDel$txtPhone"
"ctl00$cphMain$repDelTypes$ctl00$ucDel$txtPhone2"
"ctl00$cphMain$repDelTypes$ctl00$ucDel$txtPhone3"
"ctl00$cphMain$repDelTypes$ctl00$ucDel$txtAdr1"
"ctl00$cphMain$repDelTypes$ctl00$ucDel$txtAdr2"
"ctl00$cphMain$repDelTypes$ctl00$ucDel$txtAdr3"
如何获取“txt”之后的所有文本的值

var dictionary=newdictionary();
foreach(请求中的var key.Params.allkey)
{ 
if(key.ToString()包含(“txt”))
{
//添加到字典名称和值
//添加(“名称”、“val”);
}
}

您是否在询问如何添加到词典中

var dictionary =  new Dictionary<string, string>();
foreach (var key in Request.Params.AllKeys)
{ 
     if (key.ToString().Contains("txt"))
     {
          //get the text after "txt"
          var index = Request.Params[key].LastIndexOf("txt");
          var val = Request.Params[key].SubString(index);
          Dictionary.Add(key, val);
     }
}
var dictionary=newdictionary();
foreach(请求中的var key.Params.allkey)
{ 
if(key.ToString()包含(“txt”))
{
//获取“txt”之后的文本
var index=Request.Params[key].LastIndexOf(“txt”);
var val=Request.Params[key]。子字符串(索引);
Dictionary.Add(key,val);
}
}
var dictionary=newdictionary();
foreach(请求中的var key.Params.allkey)
{ 
if(key.ToString()包含(“txt”))
{
//添加到字典名称和值
Add(key.Split(新字符串[]{“txt”},StringSplitOptions.None)[1],Request.Params[key]);
}
}
您可以执行以下操作:

var dictionary =  new Dictionary<string, string>();
foreach (var key in Request.Params.AllKeys)
{ 
     if (key.ToString().Contains("txt"))
     {
          int index = Request.Params[key].LastIndexOf("txt");
          Dictionary.Add(key, Request.Params[key].SubString(index));
     }
}
var dictionary=newdictionary();
foreach(请求中的var key.Params.allkey)
{ 
if(key.ToString()包含(“txt”))
{
int index=Request.Params[key].LastIndexOf(“txt”);
Dictionary.Add(key,Request.Params[key].SubString(index));
}
}

Imho这不是一个好方法,因为您的字典依赖于控件id。如果您或您的同事忘记了这一点,这可能会在将来导致严重错误。这种方法很容易出错。我需要将“txt”后的文本添加到字典中,valueError无法在位置拆分(“txt”)[1]上从“string”转换为“char[]”;哦,对了,我忘了拆分需要一个字符。其他答案提供了更好的方法来获取位置拆分(“txt”)[1]时“txt”不能从“字符串”转换为“字符[]”后的文本;错误59参数1:无法从“string[]”转换为“char[]”确定,需要split options参数,请参阅上面的编辑。
var dictionary =  new Dictionary<string, string>();

 foreach (var key in Request.Params.AllKeys)
 { 
      if (key.ToString().Contains("txt"))
      {
         // add to dictionary name and value
         dictionary.Add(key.Split(new string[]{"txt"}, StringSplitOptions.None)[1], Request.Params[key]);
      }
 }
var dictionary =  new Dictionary<string, string>();
foreach (var key in Request.Params.AllKeys)
{ 
     if (key.ToString().Contains("txt"))
     {
          int index = Request.Params[key].LastIndexOf("txt");
          Dictionary.Add(key, Request.Params[key].SubString(index));
     }
}