私は少し失われています。たぶん、jQueryがうまく(またはまったく)理解できないことがあります。私はwebgridとMVC3アプリを持っている。 webgridのカラムは 'edit'用です。これはコントローラを呼び出してJSONオブジェクトを返すべきです。これはすべてMVC2で機能しましたが、MVC3の変更ではそれ以上は機能しません。jQueryによる控えめなjavascriptを使用したAjax.ActionLink
grid.Column(header: "", format: (item) => Ajax.ActionLink("Edit" "Edit", new { id = item.id }, new AjaxOptions { OnSuccess = "handleEdit" })),
以前私は、次のようなJavaScriptを定義することができた:私は、リンクをクリックしたとき
function handleEdit(context) {
var json = context.get_data();
var data = Sys.Serialization.JavaScriptSerializer.deserialize(json);
var form_url = '/taskstatus/update/' + data.id;
// update elements on the page
$('#add_link').hide();
$('form').attr('ACTION', form_url);
$('#TaskStatus_status_code').val(data.status_code);
$('#TaskStatus_status_description').val(data.status_description);
$('#TaskStatus_active').attr('checked', data.active);
$('#submit').val('update');
$('#form').show('fast');
}
は、今、私がダウンロードしたファイルとしてJSONを取得します。新しい目立たない方法でこれをどうやって行うことができますか?
おかげであなたは、これは多くのことを助けた:あなたは簡単にAJAXifyは別のファイルになり
。どのようにフォームURLを設定することをお勧めしますか?合格? – jdiaz
@ jdiazの場合、JSONレスポンスの一部としてサーバーに直接このURLを返させることもできます: 'var form_url = data.url;'。 –