的HomeController
[ValidateInput(false)]
public ActionResult Index()
{
FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
EmployeeViewModel evm = new EmployeeViewModel();
ViewBag.wresult = Request.Form["wresult"];
if (!string.IsNullOrWhiteSpace(Request.Form["wresult"]))
{
XmlDocument wresult = new XmlDocument();
wresult.LoadXml(Request.Form["wresult"]);
XmlNodeList elemList = wresult.GetElementsByTagName("saml:Attribute");
foreach (XmlNode node in elemList)
{
foreach (XmlAttribute attr in node.Attributes)
{
if (attr.Name.Equals("AttributeName") && attr.Value.Equals("emailaddress"))
{
XmlNode child = node.FirstChild;
evm.EmployeeEmailId = child.InnerText;
}
}
}
}
var emp = empModel.Get(evm.EmployeeEmailId);
if (condition)
{
return RedirectToAction("Index", "XYZ", new { area = "PQR" });
}
return View("Test", evm)
}
我在ViewBag中存储的数据,以及随视图返回的对象都返回空白。我无法理解为什么会这样。
evm对象在XML Processing期间被填充,并且有一些DB动作恰好会向对象添加更多细节。
答案 0 :(得分:0)
EmployeeViewModel evm = new EmployeeViewModel();
这是您在尝试返回之前第一次也是最后一次使用evm。您正在返回EmployeeViewModel()
的新空白实例。