0

userを削除するための部分的なビューがあります。このアクションには、ブートストラップ モーダル ポップアップを使用します。

だから私のコードは次のとおりです。

インデックス.chtml

    @*Inside foreach loop*@
   <div class="modal hide fade" id="Delete_@index">
         @Html.Partial("_DeleteUser", user)
   </div>

_DeleteUser

@model Classes.User

<div class="modal-header">
   <button type="button" class="close" data-dismiss="modal">×</button>
   <h3>İstifadəçinin məlumatları</h3>
</div>
   @using (Html.BeginForm("DeleteUser", "Admin", FormMethod.Post))
   {
       Html.HiddenFor(user => user.UserId);
       Html.AntiForgeryToken();
       <div class="modal-body">
           <strong>Bu istifadəçini silmək istədiyinizdən əminsiniz...?</strong>
       </div>
       <div class="modal-footer">
           <a href="#" class="btn" data-dismiss="modal">Close</a>
           <button class="btn btn-danger"><i class="icon-trash icon-white"></i>Save Changes</button>
      </div>
   }

そして、私の HttpPost メソッド アクション:

    [HttpPost]
    public ActionResult DeleteUser(User user)
    {
        userRepository.DeleteById(user.UserId);
        return View("User");
    }

このシナリオの後、User.UserId の{00000000-0000-0000-0000-000000000000}タイプの Guid 値を取得します。おそらく非常に簡単な解決策がありますが、時間が見つかりません。私を助けてください。

ない:私は使用します

1)Html.HiddenFor(user => user.UserId);
2)<input type="hidden" value="@Model.UserId" id="UserId"/>

しかし、まだ動作しません。

解決策: * model-body div 内に非表示に移動すると機能します。なぜそれが起こったのかわかりません))、皆さんに感謝します*

4

1 に答える 1

1

部分ビューでソースを見てください。少し前に同様の設定と結果がありました。隠しフィールドを別の方法で行う必要があることがわかりました。使用する

<input type="hidden" value="@Model.UserId"> 

html.hiddenfor が空だった正しい ID を持っていました。

于 2013-09-18T16:45:29.560 に答える