我使用EF 6,JQuery和bootstrap在asp.net MVC 5中为公司开发了一个网站。 在我的控制器中,我调用oracle-Db并从视图中收集一些数据(无所谓,我知道)。 这是我的代码:
# == Schema Information
#
# Table name: links
#
# id :integer not null, primary key
# url :string
# freelancer_id :integer
# messenger_type_id :integer
#
# Indexes
#
# index_links_on_freelancer_id (freelancer_id)
# index_links_on_messenger_type_id (messenger_type_id)
#
从不同的视图调用此Action并正常工作。调用View(v_PERSONEN)(编译器在视图中的断点处停止)。
但是:视图无法显示。 Firebug中没有错误消息。
这是视图:
public async Task<ActionResult> Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var v_PERSONEN = await db.V_PERSONEN.FindAsync(id);
if (v_PERSONEN == null)
{
return HttpNotFound();
}
return View(v_PERSONEN);
}
任何人都知道导致这种奇怪行为的原因是什么?
非常感谢提前! P
答案 0 :(得分:0)
以下是您可能需要检查的一些事项:
确保您的模型是正确的类型
目前,您的View希望将DVZ.FAJ.FM.Ranglisten.Web.App_Data.PERSONEN
对象传递给它。您需要确保这与您在Controller中的通话中返回的完全相同:
// This should be using an PERSONEN object like your View is expecting
var v_PERSONEN = await db.V_PERSONEN.FindAsync(id);
检查您的视图名称
默认情况下,MVC会尝试将Controller Action映射到同名视图(例如Index
将映射到Index.cshtml
)。您现有的代码似乎没有显式指定View,因此它会假设它位于以下位置:
~/Views/YourControllerName/Edit.cshtml
如果这不是视图的名称,您将在调用视图时指定它:
return View("YourViewName",v_PERSONEN);
在您的视图中检查语法
您可能需要考虑检查View中的每个帮助程序,并确保它们被映射到Model的预期属性,并且每个帮助程序的语法都是正确的。
<强>更新强>
看起来有一个缺失的结束</div>
标记与您现有的<div class='form-horizontal'>
标记相对应,导致您的BeginForm()
调用无法找到它{{1}大括号:
}