ビュー内のいくつかの値に対していくつかの計算を実行したい...ユーザーが入力に値を入力すると、サーバーに戻る必要があります。 ..計算を実行し、新しい値でビューを "リフレッシュ"します。コードが今のように、正しい(...または少なくとも私がそれに尋ねる)コントローラアクションを入力し、正しく更新されたViewDataをビューに返します。私はビューのHTMLを構築するループスルーステップた場合、のViewDataは、更新された値を持っていますが、表示がブラウザ上に表示されている場合、値は...ビューに更新された値が表示されないasp.net mvc
を変更していないここではjavascriptを
$('input.changeValue').change(function() {
$('body').css('cursor', 'wait');
var changedAmt = this.value;
var frmUpdate = $('form#frmUpdate').serializeArray();
fooSoldObj = new Object();
fooSoldObj.name = 'fooSoldAmt';
fooSoldObj.value = changedAmt;
frmUpdate[frmUpdate.length] = fooSoldObj;
$.ajax(
{
type: $('form#frmUpdate')[0].method,
url: $('form#frmUpdate')[0].action,
data: frmUpdate,
dataType: 'html',
error: function(error) {
alert('frmUpdate error' + error);
}
}
);
setTimeout(function() {
$('body').css('cursor', 'default');
}, 0);
});
ですここで
フォームfrmUpdateのHTMLだけで、さらに物事を混同し
今<form action="/Forecast/Update" id="frmUpdate" method="post" name="frmUpdate">
<span>
<input id="HiddenForecastID" name="HiddenForecastID" type="hidden" value="XXX" />
<input id="HiddenForecastYear" name="HiddenForecastYear" type="hidden" value="2009" />
<input id="HiddenForecastMonth" name="HiddenForecastMonth" type="hidden" value="3" />
</span>
</form>
次のようになります、正しく表示されないデータは、ビュー上の別の形態です。私が2つのフォームを持っている理由(正しいか間違っているか)は、ビュー上の他のフォームが保存ルーチンを開始することです。
はここで多分それは働いていない理由は、私は1つのフォームを更新して、更新するためのMVCのビューエンジンを求めているということであると私は考えてい
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Update(FormCollection frmUpdate)
{
//go off and do some stuff...this part works as the ViewData
//is correct....meaning it has the updated values that
//we want to see displayed in the view
return View("MyView", ViewData[someData]);
}
コントローラのアクションの関連部分だ/リフレッシュ(ただし、ページを作成するビューのループをステップ実行すると、データは更新されますが、ブラウザのページは表示されません)...ビューで正しいhtmlを表示させるにはどうすればよいですか?
/****************************************
追加次のコードは、ちょうどRedirectToAction
をテストするためのAJAX呼び出しDOES上記リターン・ビュー上のエラーではなく(「何とか」)のもの
******************** *************************/
PSただ、この
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Update(FormCollection frmUpdate)
{
//go off and do some stuff...this part works as the ViewData
//is correct....meaning it has the updated values that
//we want to see displayed in the view
return RedirectToAction("MyView", new RouteValueDictionary(new { controller = "Forecast", action = "MyView", addMonth = monthAdd }));
}
のようなコントローラにRedirectToActionを試してみましたが、その後500エラー
おかげで、
グレッグ
それをありがとう...私は間違いなくそれを試みる...それは完璧な意味を作る – w4ik