- PR -

非同期通信で取得した内容を、画面に表示する方法

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2009/03/11
投稿数: 28
投稿日時: 2009-03-12 07:20
Accessさま

お世話かけます

PageMethodについて、少し調べました

今の実装方式では取り込むのは難しそうです

すいません。。

何とか、
hogehoge = document.getElementById('<%= hdnaaa.cliant %>')
hogehogeが取れるようになったのですが、
object型の中でvalueが見つかりません

どうやったら、hogehogeの値を見ることが出来るのでしょうか

よろしくお願いします
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2009-03-12 10:17
引用:
ccc = document.getElementById("hdnccc").Value;

Valueじゃなくてvalueだったと思いますがその点は大丈夫ですか?

引用:
hogehoge = document.getElementById('<%= hdnaaa.cliant %>')

cliantじゃなくてClientIDですがその点は大丈夫ですか?

alert('<%= hdnaaa.ClientID %>');
とか
alert(document.getElementById('<%= hdnaaa.ClientID %>').outerHTML);
とかで、何がとれているか見てみてください。
未記入
常連さん
会議室デビュー日: 2009/03/11
投稿数: 28
投稿日時: 2009-03-12 11:56
ベル様

何度もお世話様で恐縮です

やっとjavacript側で取れるようになりました
(原因は、hidden項目がupdatepanelタグの外にあったためでした)

あとは、金額欄にセットできれば、OKなのですが..

うまくいきません

aspx.のjavascriptから、ascx.のLABEL項目にセットするのは
無理なのでしょうか

よろしくお願いします

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2009-03-12 12:58
ラベル(htmlではspanになるんでしたかな?)のテキストは
document.getElementById('<%= 〜〜 %>').innerHTML = "〜〜";
とすれば設定できます。

〜〜の部分は下記の方法でラベルコントロール自体か、そのClientIDを
プロパティに公開するなどして取得させればいいです。
http://www.atmarkit.co.jp/fdotnet/dotnettips/222aspuctlprop/aspuctlprop.html

[追記]
上記ではsetアクセサしか作ってないですがgetも作るということです。

[ メッセージ編集済み 編集者: べる 編集日時 2009-03-12 13:02 ]
未記入
常連さん
会議室デビュー日: 2009/03/11
投稿数: 28
投稿日時: 2009-03-12 17:19
べる様

お世話をおかけしております

ascx側には

''金額属性のプロパティ
Public Property AAA_1() As Label
Get
Return AAA_BBB1
End Get
Set(ByVal value As Label)

AAA_BBB1.Text = value.Text
End Set
End Property

こんな感じでプロパティを作成しました

ASPX側には

hogehoge = document.getElementById('<%= hdnaaa.ClientID %>').value;

document.getElementById('<%= AAA_1 %>').innerHTML = hogehoge;

このように書いたところ、

error BC30451: 名前 'AAA_1' は宣言されていません。

というエラーになってしまいました

よろしくご教授ください

お願いします


べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2009-03-12 17:40
いや、だって、ASPX側にはAAA_1というプロパティを作成してないですよね。
ユーザーコントロールのID.AAA_1 です。それに、Label自体を返したならClientIDは必要でしょう。

マスターページ上じゃなくてASPX上にユーザーコントロール貼ったんですよね?
マスターページに貼ったなら、マスターページ上のユーザーコントロールにアクセスさせるために
2009-03-12 01:24の私の発言のリンク先の操作が必要です。
未記入
常連さん
会議室デビュー日: 2009/03/11
投稿数: 28
投稿日時: 2009-03-13 09:54
べる様

本当にお付き合い、ありがとうございます

>マスターページ上じゃなくてASPX上にユーザーコントロール貼ったんですよね?

これは、<%@ Reference Control="~/UserControls/MasterPageLeftSideNavi.ascx" %>
リファレンスコントロールのことではないですか?

よろしくお願いします
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2009-03-13 10:29
リファレンスコントロール??

私の質問は、ユーザーコントロールを.aspxファイルから参照しているのか、
.masterファイルから参照しているのかです。この例でいう<uc:Spinner タグをどこにかいているかです。

前者であれば2009-03-12 12:58の私の発言のリンク先の方法でできそうだし、
後者であれば2009-03-12 01:24の私の発言のリンク先の内容と組み合わせて行う必要があるということです。

#MasterPageLeftSideNaviという名前からして後者っぽいですが

Reference ディレクティブを使っているかはあまり関係ないと思います。

スキルアップ/キャリアアップ(JOB@IT)