26

エイ!モデルのデータを使用して部分ビューを更新するにはどうすればよいですか? 初めて、ページが読み込まれると正しく動作しますが、アクションから呼び出すと動作しません。私が作成した構造は次のようになります。

私のビューのどこでも:

 @{ Html.RenderAction("UpdatePoints");}

私のPartialView「UpdatePoints」:

<h3>Your points are @ViewBag.points </h3>

コントローラーには次のものがあります。

public ActionResult UpdatePoints()
        {

            ViewBag.points =  _Repository.Points;
            return PartialView("UpdatePoints");
        }

ご協力いただきありがとうございます!

アップデート

助けてくれてありがとう!最後に、モデルを使用してパラメーターを渡し、提案したように JQuery/AJAX を使用しました。

したがって、JS では次のようになります。

$('#divPoints').load('/Schedule/UpdatePoints', UpdatePointsAction);
var points= $('#newpoints').val();
$element.find('PointsDiv').html("You have" + points+ " points");

コントローラーで:

var model = _newPoints;
return PartialView(model);

ビューで

<div id="divPoints"></div>
@Html.Hidden("newpoints", Model)
4

4 に答える 4

28

したがって、ボタンをクリックして更新する必要がある PartialView を使用したビューがあるとします。

<div class="target">
    @{ Html.RenderAction("UpdatePoints");}
</div>

<input class="button" value="update" />

いくつかの方法があります。たとえば、jQuery を使用できます。

<script type="text/javascript">
    $(function(){    
        $('.button').on("click", function(){        
            $.post('@Url.Action("PostActionToUpdatePoints", "Home")').always(function(){
                $('.target').load('/Home/UpdatePoints');        
            })        
        });
    });        
</script>

PostActionToUpdatePointsポイントを更新するために使用するActionwith[HttpPost]属性です。

アクション UpdatePoints() でロジックを使用してポイントを更新する場合、 [HttpPost] 属性を追加するのを忘れている可能性があります。

[HttpPost]
public ActionResult UpdatePoints()
{    
    ViewBag.points =  _Repository.Points;
    return PartialView("UpdatePoints");
}
于 2013-08-15T15:58:17.080 に答える
4

助けてくれてありがとう!最後に、モデルを使用してパラメーターを渡し、提案したように JQuery/AJAX を使用しました。

したがって、JS では次のようになります。

$('#divPoints').load('/Schedule/UpdatePoints', UpdatePointsAction);
var points= $('#newpoints').val();
$element.find('PointsDiv').html("You have" + points+ " points");

コントローラーで:

var model = _newPoints;
return PartialView(model);

ビューで

<div id="divPoints"></div>
@Html.Hidden("newpoints", Model)
于 2013-08-19T07:53:28.080 に答える