0

我有一个带有简单下拉框的表单,其中包含来自数据库的值Post那个下拉框的值被插入到会话中。我认为在创建页面上使用该会话值来自动填充某些类别,但不知何故,会话似乎在第二页上变为 NULL 或 Empty。

表格 1 动作

   [HttpPost]
      public ActionResult select(listings listing)
    {
        Session["address"] = ViewBag.CategoryID;

        return View();
    } 

表格 1 视图

<form method="post" action="create">  
@Html.DropDownList("CategoryID")
<input type="submit" value="step 2"/>            
  </form>

表格 2 动作

public ActionResult Create()
    {
  // The "IF" works correctly but it seems like it is making the SESSION= NULL
         if (Session["address"] == null)
        {
           return RedirectToAction("sesserror");

        }
        string tt = (string)Session["address"];
        var getlisting = (from s in db.relistings where tt==s.address select s).FirstOrDefault();

        return View();
    } 

如果我转到 FORM 1 选择一个值并转到 FORM 2,问题看起来可能在 IF 语句中,它不会重定向我,因此 SESSION 有一个值并且它正在丢失它或其他东西。

表格 2 查看/创建页面

 <b>Step: 2 out of 2</b>  
@Session["address"]

我有更多关于表格 2 的内容,但我专注于那部分。有没有更好的方法将值从一种形式传递到另一种形式?顺便说一下,Session 最初确实有效,因为如果我直接进入 Form 2,我会被重定向到 Sesserror。

4

0 回答 0