我对MVC非常陌生,并且试图从为MVC提供的视频中学习。在其中一个视频中,我使用了Tempdata。在视频中,他们使用HTTPPOST显示了创建的操作结果,并将数据从文本框传递到控制器,然后使用Tempdata进行查看。我曾尝试过这样做。但我没有从文本框中获得价值,总是返回null。下面是我的代码,将文本框的值传递给MVC5中的ActionResult TempData
控制器如下,
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(string name)
{
TempData["uname"] =name;
return RedirectToAction("GetUser");
}
public ActionResult GetUser()
{
return View();
}
查看了创建如下,
@{
ViewBag.Title = "Create";
}
<h2>Create New User</h2>
@using (Html.BeginForm())
{
<div>
<p>Enter your name : <input type="text" id="id" placeholder="Enter username"/></p>
<p><input type="submit" id="btnSubmit" value="Create"/></p>
</div>
}
信息查看的getUser,
@{
ViewBag.Title = "GetUser";
}
<h2>GetUser</h2>
<div>
<h3>Welcome @TempData["uname"].ToString()</h3>
</div>
当我进入文本框的值并在“创建”操作中按下按钮ID参数为空。另外,我还没有创建任何模型类,就像他们刚刚在上面显示的代码中一样。请给我一些建议。
问候 桑杰塔
你刚才错过了你的文本框的name属性。只需正确设置名称属性,使其与控制器的名称参数相匹配即可。 NAME = “名字”。 – drunkcoder
是的,它帮助.. – Sangeetha