3

事前に質問をお詫びしますが、ここで多くの提案を見つけましたが、うまくいきませんでした。私は気が狂っているので、...

最初にロードしたときに、すべてのユーザーのモデル データを含むテーブルを表示する MVC 3 アプリケーションがあります。その部分はうまく機能します。2 つのテキスト ボックスがあります。1 つはアカウント ID 用で、もう 1 つはユーザー用です。これにより、より具体的なユーザー データについてデータベースを再クエリできます。送信ボタンを使用すると、データは返されますが、ページ全体が更新され、正しいデータでフォームとテーブルが返されますが、ページの残りの部分は白くなります。以前に持っていたグラフィックはありません。もう1つの興味深い点は、ホワイトページからフォームを再度送信すると、有効なパラメーターが何であれ、AJAX DOESが機能することです。私は困惑しています。

フォームは次のようになります。

@using (Ajax.BeginForm("TaskList", "Dispatch", 
       new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "tblBody", 
       InsertionMode = InsertionMode.Replace }, new { id = "frmTaskList" }))
{
    <table id="tblTaskList" class="tblTaskList"> 
        <thead>
            <tr>
                <th>Ticket ID</th>
                <th>Date</th>
                <th>Customer Name</th>
            </tr>
        </thead>
        <tbody id="tblBody" class="tblBody">        
            @{for (var ix = 0; ix < Model.Value.Count - 1; ix++)
            { 
                <tr id="@(Model.Value[ix].TicketId)">
                    <td>@Model.Value[ix].TicketId</td>
                    <td>@Model.Value[ix].Created</td>
                    <td>@Model.Value[ix].ContactName</td>
                </tr>        
            }}
        </tbody>       
    </table>    

    <input type="text" id="hidAccId" name="hidAccId" value="" />
    <input type="text" id="hidUserId" name="hidUserId" value="" />
    <input type="submit" id="btnTaskList" value="Submit" />
}

また、私が使用しているスクリプトは、ページの上部に配置されています。

<script src="../../Scripts/jquery-ui-1.8.11.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>

補足: src 属性の代わりに @Url.Content を使用してみましたが、役に立ちませんでした。また、以下を使用して実験しましたが、やはり結果は変わりません:

<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript">    </script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
4

1 に答える 1

1

jQuery と jQuery-ui が 2 回参照されています。それは必要はありません。以下で十分です。

<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

jquery-1.7.2.min.js が Scripts フォルダーにあることを確認する必要があります。既定の ASP.NET MVC 3 には、jQuery 1.5 のみが付属しています。Microsoft* スクリプトに関する限り、これらのことは忘れてください。これらは ASP.NET MVC 3 では使用されなくなりました。

また、フォームに送信ボタンがありません。

これ:

<input type="button" id="btnTaskList" value="Submit" />

次のようにする必要があります。

<input type="submit" id="btnTaskList" value="Submit" />

フォームの送信が発生することが予想される場合。

于 2012-07-22T16:34:57.517 に答える