送信ボタンのある ajax フォームがありますが、送信ボタンをクリックすると 404 ページが見つかりませんというエラーが表示されます。
私の見解の一部:
@using (Ajax.BeginForm("Index", "Maps", null, ajaxOptions, new { @class = "form-search" }))
{
...
...
<button type="submit" class="btn">Search</button>
}
ajaxOptions 変数は次のように定義されます。
var ajaxOptions = new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "filter-results",
LoadingElementId = "filter-loading",
LoadingElementDuration = 2000,
OnFailure = "showAjaxError",
Url = Url.Action("Index")
};
これは私のブラウザ (Chrome) で次のようにレンダリングされます。
<form action="/Maps" class="form-search" data-ajax="true" data-ajax-failure="showAjaxError" data-ajax-loading="#filter-loading" data-ajax-loading-duration="2000" data-ajax-mode="replace" data-ajax-update="#filter-results" data-ajax-url="/Maps" id="form0" method="post"> <div class="well well-small">
<div class="input-append">
<input type="text" class="span3">
<button type="submit" class="btn">Search</button>
</div>
<div class="input-prepend pull-right">
<button type="submit" class="btn">Items Per Page</button>
<input type="number" name="ItemsPerPage" class="span1" value="10">
</div>
</div>
</form>
404 エラーには次のように表示されます。
Requested URL: /Maps
これをブラウザに貼り付けると動作します:
http://localhost:7374/Maps
私は正しいjavascriptファイルを参照していると思います-ページソースを見ると、次のように表示されます:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.0/jquery-ui.min.js"></script>
私の Web.config には次のものがあります。
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />