1
クライアント・コントロール内では、実行するスクリプトとともにボタンを生成します。 このボタンをクリックしたときにオブジェクトのPrint()メソッドを呼び出すと、結果の値をPrint()にも渡す必要があります。パラメータで呼び出すAjaxクライアント・オブジェクト・メソッド
どうすればいいですか?私は私の問題に対する解決策がないと思い
:更新
Type.registerNamespace("CustomControls");
CustomControls.FirstObj = function(element) {
CustomControls.FirstObj.initializeBase(this, [element]);
this._targetControlDelegate === null
this.markUp = '<div><input type="button" id="theButton" value="Button!" onclick="Foo()"/><script type="text/javascript">function Foo() {return "result";}</script></div>';
}
CustomControls.FirstObj.prototype = {
dispose: function() {
CustomControls.FirstObj.callBaseMethod(this, 'dispose');
},
initialize: function() {
var div;
div = document.createElement('div');
div.name = div.id = "divName";
div.innerHTML = this.markUp;
document.body.appendChild(div);
var targetControl = $get("theButton");
// if (targetControl != null) {
// if (this._targetControlDelegate === null) {
// this._targetControlDelegate = Function.createDelegate(this, this._targetControlHandler);
// }
// Sys.UI.DomEvent.addHandler(targetControl, 'click', this._targetControlDelegate);
// }
CustomControls.FirstObj.callBaseMethod(this, 'initialize');
},
// _targetControlHandler: function(event) {
//
//
// },
_Print: function(result) {
//Alert Result
},
}
CustomControls.FirstObj.registerClass('CustomControls.FirstObj', Sys.UI.Control);
if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
:
これは私のオブジェクトです。
あなたが提案できる代替アプローチがあるかもしれませんか?
結果値をPrint()に渡す必要があることを明確にすることはできますか?あなたは 'onclick'ハンドラから返された値を参照していますか? –
はい、ボタンをクリックすると、関数Foo(){return "result";}が呼び出されます。私はこのfooの結果をオブジェクトに渡したいと思います。 – urker
これは、オブジェクトがマークアップ、マークアップ(一部のスクリプトを含む)を入力として受け取った場合、スクリプトの結果をオブジェクトに戻す必要があります。 – urker