我有一个带有ActionResult的控制器我在初始构建后添加了命名SubAlertModal
[HttpPost]
public ActionResult SubAlertModal(int alertid)
{
var SubAlerts = from sa in db.csSubAlerts
where sa.AlertID == alertid
select sa;
// csAlert cssubalert = db.csAlerts.Find(alertid);
// return View();
return Request.IsAjaxRequest() ? PartialView(SubAlerts) :
PartialView(SubAlerts);
}
在index.cshtml页面上的我添加了一个HTML.ActionLink,看起来就像是后续的
@foreach (var item in Model) {
<tr>
<td>
@Html.ActionLink("Sub_Alert", "SubAlertModal", new { id = item.AlertID }, new {
@class = "ModalOpener" })
</td>
<td>
@Html.DisplayFor(modelItem => item.Routes)
</td>
<td>
@Html.DisplayFor(modelItem => item.Issue)
</td>
<td>
@Html.DisplayFor(modelItem => item.Detour)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateEntered)
</td>
<td>
@Html.DisplayFor(modelItem => item.FullName)
</td>
<td>
@Html.DisplayFor(modelItem => item.SendEmail)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.AlertID }, new {
@class="ModalOpener" }) |
@Html.ActionLink("Details", "Details", new {id = item.AlertID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.AlertID})
</td>
</tr>
}
一个问题是第一个。 当我点击列表中的Sub_Alert时,它给出了404错误。 网址是正确的。 是控制器与视图不匹配。 这是我想在模式窗口或任何窗口中加载的视图 @model IEnumerable
@{
ViewBag.Title = "SubAlerts";
}
<h2>SubAlert</h2>
<div id="SubAlertModal" title="Sub Alert for the Alert">
This is a test modal
and it appears to be working !!
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Issue)
</th>
<th>
@Html.DisplayNameFor(model => model.Detour)
</th>
<th>
@Html.DisplayNameFor(model => model.DateEntered)
</th>
<th>
@Html.DisplayNameFor(model => model.EnteredBy)
</th>
<th>
@Html.DisplayNameFor(model => model.SendEmail)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Issue)
</td>
<td>
@Html.DisplayFor(modelItem => item.Detour)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateEntered)
</td>
<td>
@Html.DisplayFor(modelItem => item.FullName)
</td>
<td>
@Html.DisplayFor(modelItem => item.SendEmail)
</td>
</tr>
}
</table>
</div>
由于
乔
答案 0 :(得分:1)
如果您通过链接访问操作方法,则HTTP谓词是GET,而不是帖子。
您的操作方法设置为仅响应POST。
只需删除[HttpPost]
或将其更改为[HttpGet]