fre*_*nky 18
如果您在不同的页面上显示消息而不ViewData会对您有所帮助,因为它会随每个请求重新初始化.另一方面,TempData可以存储两个请求的数据.这是一个例子:
public ActionResult SomeAction(SomeModel someModel)
{
if (ModelState.IsValid)
{
//do something
TempData["Success"] = "Success message text.";
return RedirectToAction("Index");
}
else
{
ViewData["Error"] = "Error message text.";
return View(someModel);
}
}
Run Code Online (Sandbox Code Playgroud)
if你必须使用内部块,TempData因为你正在进行重定向(另一个请求),但在其他内部你可以使用ViewData.
在内部视图中你可以有这样的东西:
@if (ViewData["Error"] != null)
{
<div class="red">
<p><strong>Error:</strong> @ViewData["Error"].ToString()</p>
</div>
}
@if (TempData["Success"] != null)
{
<div class="green">
<p><strong>Success:</strong> @TempData["Success"].ToString()</p>
</div>
}
Run Code Online (Sandbox Code Playgroud)
小智 12
在你的控制器中,你可以这样做:
ViewData["Message"] = "Success"
Run Code Online (Sandbox Code Playgroud)
在您的视图中,您可以检查是否有要显示的消息,如果有,则显示它:
@if (ViewData["Message"] != null)
<div>success</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29019 次 |
| 最近记录: |