【发布时间】:2015-09-30 17:35:41
【问题描述】:
我有一个 MVC 5 应用程序。我跟进这个教程Getting Started with ASP.NET MVC 5
当我单击详细信息、编辑或删除时,我得到 HTTP 错误 400.0 - 错误请求。
我的索引视图
@foreach (var item in Model)
{
<div class="city">
<h2>@Html.DisplayFor(modelItem => item.announce_PublishDate)</h2>
<p>@Truncate(item.announce_Description, 90)</p>
<p>@Html.ActionLink("more", "Details", new { id = item.announce_ID }) </p></div>}
我的详细信息视图
<div>
<h4>prokirikseis</h4>
<hr />
<dl class="dl-horizontal">
<dd>
@Html.DisplayFor(model => model.announce_ID)
</dd>
<dd>
@Html.DisplayFor(model => model.announce_Description)
</dd>
<dd>
@Html.DisplayFor(model => model.announce_PublishDate)
</dd>
</dl>
</div>
<p>
@Html.ActionLink("Edit", "Edit", new { id = Model.announce_ID }) |
@Html.ActionLink("Back to List", "Index")</p>
控制器
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
announce announce= db.announce.Find(id);
if (announce == null)
{
return HttpNotFound();
}
return View(announce);
}
模型
public class announcements
{
[Key]
public String announce_ID { get; set; }
[Display(Name = "Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> announce_PublishDate { get; set; }
[Display(Name = "Title")]
public String announce_Description { get; set; }
}
我做错了什么?我注意到它在 url 中带来了正确的 ID。 http://localhost:zzzzz/ltest/Details/01_2.2 但它不会带来内容。 谢谢
【问题讨论】:
-
01_2.2不是有效的整数... -
感谢您的回复,我尝试使用其他 id,例如 106。但它显示“EntityFramework.dll 中发生'System.ArgumentException' 类型的异常,但未在用户代码中处理附加信息:其中一个主键值的类型与实体中定义的类型不匹配。有关详细信息,请参阅内部异常“我在模型中将字符串更改为 int 但它不起作用。
标签: asp.net-mvc