我用以下代码创建了一个控制器。 **我在这个例子中没有使用任何模型。
public ActionResult PersonalDetails()
{
return View();
}
[HttpPost]
public ActionResult Thanks(FormCollection formcol)
{
return View();
}
还为 PersonalDetails 操作添加了一个视图,其中包含以下标记。
@{
ViewBag.Title = "PersonalDetails";
}
<h2>PersonalDetails</h2>
@{
ViewBag.Title = "PersonalDetails";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>PersonalDetails</h2>
@using (Html.BeginForm("Thanks", "DemoForms", FormMethod.Post))
{
@Html.ValidationSummary()
<p>
Your Name : @Html.TextBox("FirstName")
</p>
<br />
<p>
Your Name : @Html.TextBox("LastName")
</p>
<p> Your Phone : @Html.TextBox("Phone")</p>
<p> @Html.RadioButton("Gender", "Male", true) Male</p>
<br />
<p>@Html.RadioButton("Gender", "Female", false) Female </p>
<p> @Html.CheckBox("Reading", true) Reading</p><br />
<p> @Html.CheckBox("Cooking", false) Cooking</p><br />
<p> @Html.CheckBox("Cooking", false) Painting</p><br />
<p>
Would you like to participate in Survey?
@Html.DropDownList("ddlResponse", new[]
{
new SelectListItem() {Text="Yes", Value="Yes"},
new SelectListItem() {Text="No", Value="No"}
}, "Choose an Option")
</p>
<input type="submit" value="Submit Invite" />
}
当用户在上面的视图中输入信息并单击“提交”按钮时,它将重定向到“感谢”操作。 我想创建一个将显示此信息的Thanks视图。 请让我知道如何在感谢视图中显示/访问信息。
提前谢谢。
答案 0 :(得分:2)
执行此操作的典型方法是将数据简单地发送到服务器上的新视图。有很多不同的模式。对于模型绑定,请执行以下操作:
[HttpPost]
public ActionResult Thanks(FormCollection formcol)
{
ThanksViewModel model=new ThanksViewModel();
//add the data to the model
return View(model); //return the model with the view
}
如果您未在视图页面中使用模型绑定功能,则始终可以使用ViewBag
传递数据:
[HttpPost]
public ActionResult Thanks(FormCollection formcol)
{
ViewBag.ThanksData="data"; //add data as properties of ViewBag
return View();
}
ViewBag
只是一个内置的动态类型,可以存储任何数据。然后,您可以使用标准razor语法在视图中呈现此数据。例如在剃刀页面中:
@{
ViewBag.Title = "PersonalDetails";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>PersonalDetails</h2>
<p>@ViewBag.ThanksData</p>
答案 1 :(得分:0)
我们也可以使用TempData
在控制器中:
[HttpPost]
public ActionResult Thanks()
{
TempData["Thanksdata"] = "data";
return View();
}
在视图中:
<h2>@TempData["Thanksdata"]</h2>
我们也可以使用Viewdata
控制器中的:
ViewData["Thanksdata"] = "data";
查看:
<h2>@ViewData["Thanksdata"]</h2>
ViewData ViewBag TempData
之间的区别http://www.c-sharpcorner.com/Blogs/14947/difference-between-viewdata-viewbag-and-tempdata.aspx