首先,我是个业余爱好者,还在学习mvc。我正在做一个简单的应用程序,比如地址簿。
我通过实体框架用一个表将我的项目与sql数据库连接起来。sql表中的第一行是id,它是主键和标识字段。当我自动生成详细信息视图并尝试运行它时,出现以下错误:
参数字典包含“akvizicije\u app\u 1\u 6.controllers.homecontroller”中方法“system.web.mvc.actionresult details(int32)”的不可为null类型“system.int32”的参数“id”的null条目。可选参数必须是引用类型、可为null的类型或声明为可选参数。参数名称:参数“
public ActionResult Details(int id)
{
Contacts contact = (from k in Context.Contacts
where k.idContact == id
select k).Single();
return View(contact);
}
我知道有一个int id的参数,它不能为空,因为它是主键和标识字段。但我不知道如何解决这个问题。如果有人能帮我。我将非常感激
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<div>
<h4>Kontakti</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Zupanija)
</dt>
<dd>
@Html.DisplayFor(model => model.Zupanija)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Opcina)
</dt>
<dd>
@Html.DisplayFor(model => model.Opcina)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PostanskiBroj)
</dt>
<dd>
@Html.DisplayFor(model => model.PostanskiBroj)
</dd>
<dt>
@Html.DisplayNameFor(model => model.NazivNaselja)
</dt>
<dd>
@Html.DisplayFor(model => model.NazivNaselja)
</dd>
<dt>
@Html.DisplayNameFor(model => model.NazivUlice)
</dt>
<dd>
@Html.DisplayFor(model => model.NazivUlice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.KucniBroj)
</dt>
<dd>
@Html.DisplayFor(model => model.KucniBroj)
</dd>
<dt>
@Html.DisplayNameFor(model => model.kcbr)
</dt>
<dd>
@Html.DisplayFor(model => model.kcbr)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Aktivan)
</dt>
<dd>
@Html.DisplayFor(model => model.Aktivan)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ImeOsobe)
</dt>
<dd>
@Html.DisplayFor(model => model.ImeOsobe)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PrezimeOsobe)
</dt>
<dd>
@Html.DisplayFor(model => model.PrezimeOsobe)
</dd>
<dt>
@Html.DisplayNameFor(model => model.KontaktBroj)
</dt>
<dd>
@Html.DisplayFor(model => model.KontaktBroj)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Email)
</dt>
<dd>
@Html.DisplayFor(model => model.Email)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Komentar)
</dt>
<dd>
@Html.DisplayFor(model => model.Komentar)
</dd>
</dl>
</div>
<p>
@Html.ActionLink("Edit", "Edit", new { id = Model.idKontakt }) |
@Html.ActionLink("Back to List", "Index")
</p>```
Its not on english but you will understand.
1条答案
按热度按时间q9rjltbz1#
第一件事是检查你的数据库。你在那里有记录吗?
可以使用find()或firstordefault()函数代替查询
如果在其他控制器@html.actionlink(“edit”,“details”,“controllername”,null,new{id=model.idkontakt})上有它
您可以使用调试器来检查“详细信息”操作中的id值