Я работаю над веб-сайтом и пытаюсь перемещать простые переменные, такие как строки и целочисленные значения, с небольшим влиянием.При этом я установил некоторые переменные в словарях TempData и ViewData.Затем я перехожу к соответствующему представлению. После этого я возвращаюсь к исходному виду, в котором я получил переменные.Затем я пытаюсь вернуться к представлению, и внезапно я получаю эту ошибку ...
An item with the same key has already been added.
Я совершенно ошеломлен.У меня есть несколько операторов if, чтобы проверить, есть ли ключ в словаре.Какого черта я делаю неправильно?
[OutputCache(CacheProfile = "ZeroCacheProfile")]
public ActionResult TemplateInfo(string PopulationID)
{
client.ChannelFactory.Credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
string msg = (TempData.ContainsKey("message") ? TempData["message"].ToString() : "");
TempData["message"] = msg;
//XSLTACOData template = repo.getPatAcoDat(int.Parse(PopulationPatientID));
//GetPatientTemplateStr("unimportant");
//List<XSLTACOData> templates = repo.SelectListACOData(int.Parse(PopulationPatientID));
//XmlDocument Templates = repo.SelectTemplateInfoXML(int.Parse(PopulationPatientID));
//Templates.Load("");
//ACOServiceReference.ACOServiceClient client = new ACOServiceReference.ACOServiceClient();
//ACOServiceRefrence.searchPopulationbyOwnerResponse resp = client.GetOwnedPopulations();
//string xmlString = client.GetACOData("122");//.GetPopulationPatient("121");
string templates = "";
try
{
templates = client.GetACOData(PopulationID);
if (templates == null)
{
string site = "PopInfoErrSite";
site = "PopInfoErrSite";
View("PopInfoErrSite", site);
}
}
catch (Exception ex)
{
string errorStr = ex.InnerException.Message;
View("PopInfoErrSite", errorStr);
}
int PopulationPatID = Int32.Parse(PopulationID);
int Populationid = Int32.Parse(PopulationID);
if ((ViewData["TEMPLATES"] == null) || (ViewData.ContainsKey("TEMPLATES")==false))
{
ViewData.Add("TEMPLATES", templates);
}
if ((TempData.ContainsValue(PopulationID) == false) || (TempData.ContainsKey("POPULATIONID") == false))
{
TempData.Add("POPULATIONID", Populationid);
}
//string nullStrToCheckViewDataValue = "I am putting this string here so I can check the value of ViewData[\"TEMPLATES\"] before the view is returned. Good day sir";
//nullStrToCheckViewDataValue.
return View("TemplateInfo");
}
Выше приведен код для представления ... Что, черт возьми, я делаю неправильно?