MVC 5プロジェクトで書いたAjaxコードに問題があります。テーブルをajaxを使用していますが、私はこのエラーに遭遇しています。 "リソースをロードできませんでした:サーバーが500(内部サーバーエラー)のステータスで応答しました"。MVC - リソースのロードに失敗しました:サーバーが500のステータスで応答しました(内部サーバーエラー)
これではJavaScript Ajaxコードを含んでいる私の部分図のコードです:
@model IEnumerable<ToDo.Models.Venue>
@*Search Box*@
@using (Html.BeginForm())
{
<p>
<input type="text" class="form-control" id="txtSearch">
<span class="btn btn-sm btn-warning" id="btnCustomerInc" onclick="VenueSearch();">Search</span>
</p>
}
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.VenueName)
</th>
<th>
@Html.DisplayNameFor(model => model.VenueType)
</th>
<th>
@Html.DisplayNameFor(model => model.VenueTown)
</th>
<th>
@*blank*@
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.VenueName)
</td>
<td>
@Html.DisplayFor(modelItem => item.VenueType)
</td>
<td>
@Html.DisplayFor(modelItem => item.VenueTown)
</td>
<td>
@Html.ActionLink("Details", "Details", new { id = item.VenueID }, new { @class = "btn btn-primary" })
</td>
</tr>
}
</table>
<script>
function VenueSearch() {
console.log("Venue Search function hit");
var search = document.getElementById("txtSearch").value;
console.log(search);
$.ajax({
type: "GET",
url: '@Url.Action("VenuesTablePartialView", "Venues")',
data: { searchString: search },
success: function (data) {
$('#VenueTable').html(data);
$('#VenueTable').fadeIn("fast")
}
});
}
</script>
これは、部分的なビューのための私のコントローラのアクションです:
[ChildActionOnly]
public ActionResult VenuesTablePartialView(string searchString)
{
var venues = from v in db.Venues
select v;
//Search
if (!String.IsNullOrEmpty(searchString))
{
venues = venues.Where(v => v.VenueName.ToUpper().Contains(searchString.ToUpper()));
}
return PartialView("_VenuesTable", venues.ToList());
}
}
で
system.webServer
セクションにこのコードを追加します。 Fiddlerのようなツールをつかんで、より詳細なエラーメッセージとそれからトラブルシューティングの面で何が返ってくるかを見てください。 – jleachはい私はコントローラの動作をもう少し調べましたが、[ChildActionOnly]が私の問題の原因であることに気がつきました。私はこの行を削除し、意図したとおりに動作しています。 –