1

私はMVC3プロジェクトに取り組んでおり、これを整理しようとしています。それはおそらく私が見落としている非常に単純なものですが、今はわかりません。問題は、Firefox で送信ボタンをクリックしても、文字通り何も起こらないことです。コンソールにエラーはありません。コントローラーにヒットすることはありません。まっすぐ何もありません。Chrome で XHR リクエストを監視していますが、想定どおりの動作をしています。firebug で XHR リクエストを監視していますが、何もありません。

ここにコードがあります..見る。-- これは単なる部分的なビューです。完全なビュー テンプレート ファイルの先頭に、jquery.ajax-unobtrusive.js、Microsoft.ajax.js、および Microsoft.mvcajx.js を含めました...この順序で

@using Infragistics.Web.Mvc
@model FuelPortal.Models.ViewModels.UserMaintenanceViewModel

@*changed this div and ajax update from wrapperData to wrapperData because having it as wrapperData was screwing up the JS on user submit, it had two of the same id's...*@
    <style type="text/css">
        input[type=text] 
        {
            margin-bottom: 10px; 
        }

        .disabled 
        {
            background-color: #CECECE !important;
            background-image: url('') !important;
        }
    </style>
<script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<div id="wrapperData2">   
   <!-- jared's table thingymabobber starts here yo -->
   @if (Model != null)
   { 
   <div class='frmBG'>
        <table width='100%' style='margin-top: 10px'>
          @using (Ajax.BeginForm("DetailUser", new AjaxOptions { UpdateTargetId = "wrapperData2", InsertionMode = InsertionMode.Replace, HttpMethod = "POST" }))
          {

                    <tr>
                        <td><b>First Name:</b></td>
                        <td>@Html.TextBoxFor(mbox => mbox.User.firstName)</td>
                    </tr>
                    <tr>
                        <td><b>Last Name:</b></td>
                        <td>@Html.TextBoxFor(mbox => mbox.User.lastName)</td>
                    </tr>
                    <tr>
                        <td><b>Email:</b></td>
                        <td>@Html.TextBoxFor(mbox => mbox.User.email)</td>
                    </tr>
                    <tr>
                        <td><b>Username:</b></td>
                        <td>@Html.TextBoxFor(mbox => mbox.User.userName, new {@readonly="true", @class="disabled"})</td>
                    </tr>
                    <tr>
                        <td><b>Phone:</b></td>
                        <td>@Html.TextBoxFor(mbox => mbox.User.phone)</td>
                    </tr>
                    <tr>
                        <td><b>Account Expiration Date:</b></td>
                        <td>@Html.TextBoxFor(mbox => mbox.User.expireDate)</td>
                    </tr>
                    <tr>
                        <td>@Html.HiddenFor(mbox => mbox.User.LoginAccountId)</td>
                        <td><input type="submit" value='Save' /></td>
                    </tr>

          }
        </table>
   </div> 
   }
</div>

コントローラー アクション -- 最初のアクションは、部分ビューが読み込まれたときに実行されるアクションです。HTTP POST オーバーロードは、部分ビューのフォームが送信されたときに実行されます。

  //view details 
    public ActionResult DetailUser(int id)
    {
        UserMaintenanceViewModel model = new UserMaintenanceViewModel();
        model = repository.getUserById(Session["UserId"].ToString(), id);

        return PartialView("_ViewUserDetail", model); 

    }

    [HttpPost]
    public ActionResult DetailUser(int id, UserMaintenanceViewModel model)
    {
        var test = model.User.LoginAccountId;
        var test2 = model.User.firstName; 
         var result = repository.updateUser(model.User);
         return PartialView("_ViewUserDetail", model);
    }

どんな助けでも大歓迎です、みんなに乾杯!

4

0 に答える 0