我通过HttpClient(Json)从控制台应用程序向Web应用程序发送数据,一切运行良好但是Iam面临的唯一问题是从控制器发送到视图的数据不会显示。我调试了程序,我可以看到数据返回到视图。以下是代码:
Constroller:
using ( var db = new MessageDBContext())
{
try
{
db.Messages.Add(model);
db.SaveChanges();
}
catch (DbEntityValidationException e)
{
Debug.WriteLine("Saving Messages into db Error 1: " + e.EntityValidationErrors);
}
}
return View(model);
控制器调试:
这是视图代码:
<table class="table table-striped">
<thead>
<tr>
<th>Message</th>
<th>Time</th>
</tr>
</thead>
<tbody>
@if (Model != null)
{
<tr>
<td>
@Html.Display(@Model.message)
</td>
<td>
@Html.Display(@Model.time)
</td>
</tr>
}
</tbody>
</table>
查看调试:
那么为什么数据不会显示在html视图中??
答案 0 :(得分:1)
您必须使用以下一种情况:
@if (Model != null)
{
<tr>
<td>
@Html.DisplayFor(model => model.message)
</td>
<td>
@* Or *@
@Model.time
</td>
</tr>
}
答案 1 :(得分:1)
我会在这个问题上添加一些信息。控制器方法(显示在问题中)标有HttpPost属性,并从控制台应用程序调用。当然,结果会返回到控制台而不是浏览器。在浏览器中,控制器返回空模型return View();
否则,DisplayFor方法将完美地工作。如果要更新浏览器中的显示,则需要编写更多代码以建立服务器与客户端的通信。