【发布时间】:2021-11-17 10:37:34
【问题描述】:
我有一个名为CreatePANApplication 的控制器方法,但我为此创建了一个名为PANApplication 的视图页面。现在,当我尝试从另一个视图页面调用此方法时:
// dataTable code block
<td>
@Html.ActionLink("PAN Application", "CreatePANApplication", new { id = item.PANKey }, new { @class = "btn btn-warning" })
</td>
得到错误:
The view 'CreatePANApplication' or its master was not found or no view engine supports the searched locations.
这意味着我不应该让我的控制器名称和对应的视图页面名称不同。但是很多时候我们必须更改视图页面名称,那我们可以做什么呢?
控制器类:
public ActionResult CreatePANApplication(int? id)
{
try
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var data = (from z in db.PANModels
where z.PANKey == id
select z).ToList();
if (data == null)
{
return HttpNotFound();
}
return View(data);
}
catch (Exception)
{
throw;
}
}
【问题讨论】:
-
控制器长什么样子?
-
@AliK 我已经添加了控制器方法。
-
现在您的控制器将期望名为 CreatePANApplication.cshtml 的视图。你可以调用任何你想要的视图,比如 pagepan.cshtml,调用是 return View("pagename",data)
-
您从 CreatePANApplication 操作方法返回的内容以及您在与控制器相同的目录中有 CreatePANApplication.cshtml 文件吗?
标签: c# asp.net asp.net-mvc asp.net-mvc-4 routes