如何使用tempdata将用户在数据字段中输入的数据从视图传递到另一个视图

时间:2016-01-11 00:28:28

标签: asp.net-mvc-5

我是MVC的新手。我可以帮助我如何在视图中将用户输入的值(例如用户名表格列)分配给TempData。 我还想将分配的数据传递给另一个视图中的列

2 个答案:

答案 0 :(得分:0)

在您的视图中,添加表单字段:

<input name="myfield" type="text" />

在你的控制器动作中,获取该字段并将其存储在TempData:

public ActionResult ProcessIt(string myfield)
{
  TempData["yourkey"] = myfield;
  return RedirectToAction("SomeOtherAction");
}

现在您可以在SomeOtherAction视图中使用它:

<div>Entered data: @TempData["yourkey"]</div>

答案 1 :(得分:0)

谢谢,我正在创建网络测试,问题的控制器

public async Task Create([Bind(Include =&#34; QuestionID,Question&#34;)]         TestQuestion testQuestion,string命令,FormCollection QuestionData)         {

        if (ModelState.IsValid)
        {
            db.TestQuestions.Add(testQuestion);
            await db.SaveChangesAsync();

            return RedirectToAction("Create", "TestOptions");

        }

选项的控制器:

public async Task Create([Bind(Include =&#34; OptionID,QuestionID,OptionA&#34;)] TestOption testOption)         {             if(ModelState.IsValid)             {                 db.TestOptions.Add(testOption);                 等待db.SaveChangesAsync();

            return RedirectToAction("Index");
        }

        ViewBag.QuestionID = new SelectList(db.TestQuestions, "", "", testOption.QuestionID);
        return View(testOption);
    }

我希望在选项控制器的Create方法中显示用户刚输入的问题,以便用户输入问题选项。

该程序会创建一个以前输入的所有问题的下拉列表,但我只想在重定向的视图中显示最后一个问题。