在一个控制器动作中,我从一个方法得到一些结果,这个方法返回一个元组。元组中的第一项是IList,第二项是IList。
我想返回一个视图来显示,结果,经典方式: return View(“MyView”,TheModel“);
但我也想更新div以显示错误或警告信息
一个想法怎么做?最好的方法?
谢谢,
答案 0 :(得分:0)
你可以使用
ViewData["Message"] = "Your message";
然后在视图中将此消息放入div:
<div>
<%: ViewData["Message"] %>
</div>
或者你可以让简单的ViewModel具有两个属性(比以前更好):
public class myViewModel{
public string Message {get;set;}
public IList<YourModel> ModelList {get;set;}
}
行动将如下所示:
public ActionResult Index()
{
var modelList = new List//make your logic to fill YourModel List
var viewModel = new myViewModel()
{
Message = "Your Message",
ModelList = modelList
};
return View(viewModel);
}
然后制作强类型视图以显示 ViewModel
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewPage<myViewModel>"%>
<div>
<%: Model.Message %>
</div>
<table>
<tr>
<th>
Model Values
</th>
</tr>
<% foreach (var item in Model.ModelList) { %>
<tr>
<td>
<%: item %>
</td>
</tr>
<% } %>
</table>
希望这有帮助;)
答案 1 :(得分:0)
在您的控制器操作中:
ModelState.AddModelError("somekey", "some error message");
并在您看来:
<div>
<%: Html.ValidationMessage("somekey") %>
</div>
或将错误消息作为视图模型的一部分包含在您的视图中:
<div>
<%: Model.ErrorMessage %>
</div>