相关疑难解决方法(0)

如何在表单发布后检查视图中的TempData值?

我从一个填充我的TempData FormCollection然后我尝试TempData用MVC 4 检查我的视图中的值,但我的if声明没有按照我的预期工作.这是我的代码.

控制器:

[HttpPost]
public ActionResult TestForm(FormCollection data) 
{
    TempData["username"] = data["var"].ToString(); //data["var"] == "abcd"
    return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)

视图:

@if (TempData["var"] == "abcd") 
{
    <span>Check</span> //Never displayed
}
else
{
    @TempData["var"]; // Display "abcd"
}
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,我不明白为什么我不能显示这个Check.你能帮助我吗 ?

asp.net-mvc if-statement view tempdata

14
推荐指数
2
解决办法
6万
查看次数

部署到IIS 7后,ASP.NET MVC 4 Web应用程序中的Session对象为空(W 2008 R2)

我开发了一个ASP.NET MVC 4 Web应用程序(.net 4.5),它在Visual Studio 2012中运行良好.在Windows Server 2008 R2上部署到IIS 7后,我的控制器中的HttpContext.Session对象似乎为null.我创建了一个简单的测试ASP.NET MVC 4应用程序来演示该问题.

在我的测试应用程序中,我有一个简单的Home Controller

public class HomeController : Controller
{
    public ActionResult Index()
    {
          if ( HttpContext != null && HttpContext.Session != null )
          {
              HttpContext.Session[ "test" ] = "a string in session state";
              ViewBag.Info = HttpContext.Session[ "test" ];
              return View();
          }
          else
          {
              if ( HttpContext == null )
              {
                  ViewBag.Info = "beeeeuuuuu - HttpContext = null!!!";
              }
              else if ( HttpContext.Session == null )
              {
                    ViewBag.Info = …
Run Code Online (Sandbox Code Playgroud)

iis-7 asp.net-mvc-4

4
推荐指数
1
解决办法
1万
查看次数