こんにちは私は私の問題について十分な答えを見つけられませんでした。私は、jsonデータとhtmlの両方をajaxによって呼び出されたアクション結果から返す必要があります。MVCはjsonとhtmlの両方の応答を返す
$if (Request.IsAjaxRequest())
{
return Json(new
{
val1= Model.val1,
val2 = Model.val2,
val3= Model.val3,
Html = PartialView("_SearchResult", Model)
});
}
私はajaxの成功部分で何をしなければなりませんか? これは悪い試みです:
$.ajax({
type: "post",
dataType: "json",
url: actionUrl,
data: {
specs: selections,
params: parameters
},
success: function (response) {
$("#maincontent").html(response.html);
val1= response.val1;
val2= response.val2;
val3= response.val3;
},
error: function (xHR) {
alert(xHR.status);
}
});
Val1,2,3は、私はモデルデータが変化していると私は、この変更された値を知っておく必要がありますので、知っている必要がありVARSです。あなたがjsonよりも値を返す方法を知っていたらもっと教えてください。しかし、私はページの一部を更新するには、同様に応答HTMLを返す必要があります。 私を助けていただきありがとうございます。
UpdateVals()関数を使用してこれらのモデルプロパティを更新するとき、別のActionResultを呼び出す必要がありますか?私がこの全体的な質問をしているのは、モデルがクライアント側の値を更新していないということです。これはおそらくオブジェクトではないからです。それを何とか更新する必要があります。あなたが提案したように、クライアント側でモデルの値を更新できることは確かですか? – Muff
私は、元の見解と、理解し、より明確な答えを与えるためにアクションの関連部分を見なければならないと思います。私は基本的には次のように見ています:検索フォームで、インデックスページなどがあります。これには、AJAX呼び出しを含むJSの束があります。これはあなたの検索アクションにぶつかり、検索結果HTMLとこれらのModel.val1-3を返します。私はval1-3が何であるか分からないので、あなたがしようとしていることを見るのは難しいです。 – HackedByChinese
基本的に私はモデルを使ってパーシャルビューを返します。そして、モデルの変更された値にアクセスするには、ajaxで返す必要があります。私の問題は、モデル全体のページをリロードするまで(jQueryでアクセスすると、モデルの古い値が表示されるということです)。これは正常な動作ですか? – Muff