将返回值从操作结果传输到另一个视图
本文关键字:另一个 视图 传输 结果 返回值 操作 | 更新日期: 2023-09-27 18:24:44
我正在尝试在视图内的标签中显示数据,数据来自另一个视图,为此目的我就是这样做的
这是我的模型是
namespace MvcSampleApplication.Models
{
public class products
{
[Required]
[Display(Name = "Textbox1")]
public string EnteredValue { get; set; }
}
public class category
{
[Display(Name = "Label1")]
public string lablvalue { get; set; }
}
}
这是我的控制器
namespace MvcSampleApplication.Controllers
{
public class EnterValueController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Valuesadd(MvcSampleApplication.Models.products model)
{
return View(model);
}
[HttpPost]
public ActionResult SubmitValue(MvcSampleApplication.Models.products model)
{
ViewData["logindata"] = model.EnteredValue;
return View("submittedvalues");
}
public ActionResult submittedvalues()
{
var model = new MvcSampleApplication.Models.category();
string data = ViewData["logindata"] != null ? ViewData["logindata"].ToString() : "";
model.lablvalue = data;
return View(model);
}
}
}
这是我的观点
@model MvcSampleApplication.Models.category
@{
ViewBag.Title = "submittedvalues";
}
<h2>submittedvalues</h2>
@using (Html.BeginForm())
{
<div>
<fieldset>
<legend>
Lable value
</legend>
@Html.DisplayFor(s=>s.lablvalue)
</fieldset>
</div>
}
当我按下提交按钮时,它将查看(提交值.cshtml(但不显示结果非常感谢...
将代码更改为,而不是使用 return View()
RedirectToAction
将其重定向到另一个操作。另请注意,我使用了TempData
而不是ViewData
[HttpPost]
public ActionResult SubmitValue(MvcSampleApplication.Models.products model)
{
TempData["logindata"] = model.EnteredValue;
return RedirectToAction("submittedvalues");
}
public ActionResult submittedvalues()
{
var model = new MvcSampleApplication.Models.category();
string data = string.IsNullOrEmpty(TempData["logindata"]) ? string.Empty : TempData["logindata"].ToString();
model.lablvalue = data;
return View(model);
}
这是因为:
return View("submittedvalues");
立即呈现名为"submittedvalues.cshtml"的视图
所以这段代码:
public ActionResult submittedvalues()
{
var model = new MvcSampleApplication.Models.category();
string data = ViewData["logindata"] != null ? ViewData["logindata"].ToString() : "";
model.lablvalue = data;
return View(model);
}