Microsoft mvc 5视图未显示

时间:2016-04-25 14:00:50

标签: asp.net asp.net-mvc

我使用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

1 个答案:

答案 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}大括号:

}