ASP.NET Web サイトで Javascript を使用しています。コードで updatepanel も使用しています。updatepanel にある隠しフィールドを使用しています。
document.getelementbyID(hiddenfield); を使用したい
しかし、updatepanel を更新するたびに、更新された値を取得するにはどうすれば同じ値を取得できますか。ありがとうございました。
ASP.NET Web サイトで Javascript を使用しています。コードで updatepanel も使用しています。updatepanel にある隠しフィールドを使用しています。
document.getelementbyID(hiddenfield); を使用したい
しかし、updatepanel を更新するたびに、更新された値を取得するにはどうすれば同じ値を取得できますか。ありがとうございました。
コードを投稿していただけませんか。更新パネル内に非表示フィールドを配置した場合は、すべての投稿でその値が再初期化されます。更新パネルの外に配置してみてください...
うまくいけば、これがエラーに関連している場合は、エラーが修正される可能性があります。
私の最初の「予感」は、サーバーがポストバックで新しい値を使用していないということです。ポストバックごとに、更新された UpdatePanels の内容全体が置き換えられます。これには、前述の非表示フィールドが含まれます。
Firebug (または同等のもの) でネットワーク要求を検査するか、デバッガーを ASP.NET プロセスにアタッチします。最初のステップは、値が期待/希望どおりでない場所/時期を正確に判断することです。
さまざまなフレームワーク (DevExpress、おそらく Telerik など) は、ポストバック間でデータを保持するのに十分スマートなカスタム隠しフィールド コントロールを提供します。このようなコントロールは、作成またはエミュレートするのが比較的簡単です。
非表示フィールドを非同期ポストバック間で永続化する簡単な方法の 1 つは、それを UpdatePanel .. YMMV の外に移動することです。
ClientID property
コントロールに runat="server" が含まれているため、使用する必要があります
次のことを試してください。
window.onload = function () {
document.getElementById("myButton").onclick = function () {
var hiddenField = document.getElementById('<%=HiddenField1.ClientID %>');
alert(hiddenField.value);
}
}
あなたの側のコードが非常に少なく、エラーがないため、実際に何が起こっているのかを判断するのは難しく、多くの問題がある可能性があります。document.getElementById
ページがロードされた後などに使用していることを確認する必要があります...