0
我有以下文件夾結構: 控制器/ EntityController 查看/實體/ Index.cshtml 查看/共享/ DisplaTemplates/CustomEntity.cshtmlMVC - Html.ActionLink上DisplayTemplate不渲染
EntityController:
Index.cshtml的public ActionResult Index()
{
var entities = CustomEntityRepository.GetAll();
return View(entities);
}
public ActionResult Edit(int id)
{
if (id == 0)
{
return HttpNotFound();
}
var entity = CustomEntityRepository.Find(e => e.ID == id);
return View(entity);
}
含量研究:CustomEntity.cs的
@model IEnumerable<CustomEntity>
@{
ViewBag.Title = "Index";
}
@Html.DisplayForModel()
內容HTML:
@model CustomEntity
<div>
Entity:
<strong>@Model.Name</strong>
@Html.ActionLink("Show All","Edit","Entity", new { id= @Model.ID}, null)
@Html.LabelFor(m=>m.Icon):
@Model.Icon
@Html.LabelFor(m=>m.TypeName):
@Model.TypeName
</div>
編輯: 路由配置:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
然而,ActionLink的不我所期望的方式工作。我希望ActionLink使用每個實體提供的ID指向EntityController Edit動作。相反,它呈現以下網址:
http://localhost/MySite/Reports?action=Edit&controller=Entity&id=1
我不知道/ Reports /來自哪裏。
謝謝!
你能後結束你的路由配置?或者確認它是默認的(即「{controller}/{action}/{id}」)? –