나는 C# asp.net mvc 4를 사용하고 있습니다. 나는 test.cshtml에서 보내고 표시 할 사전을 만들고 있습니다. 저는 C#에 익숙하고 캐스팅에 문제가 있습니다. cshtml 페이지의 객체 값 사전.C# 사전 문자열 개체 키로 값을 얻으십시오
여기 내 개체 클래스이고 나는 viewbag 사용하여 보내
Dictionary<string, User> dic = new Dictionary<string, User>();
dic.Add("1", new User { ID_Task = "task1", Agent = "shasapo" });
dic.Add("2", new User { ID_Task = "task2", Agent = "fania" });
dic.Add("3", new User { ID_Task = "task3", Agent = "andre" });
ViewBag.taskDetailVehicle = dic;
을 여기에 내가 값 얼마나 test.cshtml 내 첫 번째 시도이다 :
@if (ViewBag.taskDetailVehicle.ContainsKey("3"))
{
User test1 = ViewBag.taskDetailVehicle.Where(z => z.Value.ID_Task == "3").FirstOrDefault().Value;
User test2 = ViewBag.taskDetailVehicle.Values.FirstOrDefault(k => k.ID_Task == "3");
}
을하지만이 코드는 나를주고있다 오류 : "먼저 대리자 또는 식 트리 형식으로 캐스팅하지 않고도 람다 식을 동적으로 디스패치 된 연산의 인수로 사용할 수 없습니다."
도움 저, 키에 의해 값을 얻을 수있는 방법이하십시오 ..
@if (ViewBag.taskDetailVehicle.ContainsKey("3"))
{
User test1 = ViewBag.taskDetailVehicle["3"];
<p>test1.ID_Task <br/> test1.Agent </p>
}
그러나 반환 널 (null)입니다 :
그때 나는 다른 방법을 시도?
'사용자 TEST1 = ((사전 <문자열, 사용자>) ViewBag.taskDetailVehicle) 어디에요 (.... ' –