我有一个带有简单下拉框的表单,其中包含来自数据库的值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。