- - PR -
引用符で区切ってください? ''
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-18 10:03
ASP.netをVisual Studio.net で開発して1ヶ月の者です。
Repeater内の別ControlのClientIDをJavaScriptに渡すために、 以下のような記述をしたところ "デザイナ ビューで開けませんでした。'<% ..."value"... %>' ブロック内にあるそれぞれの値を、引用符で区切ってください。" と怒られました。 クォーテーションを色々変えてみたのですがいまいちうまくいきません。 どのように記述するのが正しいのでしょうか? ご指導よろしくお願いします。 [Source] <asp:textbox id="txttest" runat="server"> <INPUT id="btnRsv_Acpt_S" type="button" value="▼" OnClick="fncOpenCalendar('<%# CType(Container.FindControl("txttest"), System.Web.UI.WebControls.TextBox).ClientID %>')"> | ||||||||
|
投稿日時: 2004-10-18 20:28
解決しました。(~~;
| ||||||||
|
投稿日時: 2004-10-18 20:37
あ、どう解決したのか教えていただけませんか?
| ||||||||
|
投稿日時: 2004-10-18 21:01
この部分ですね。onclick=”...’...”txttest”...’”と鳴ってますから、txttestの前後の2重引用符が、文字列の終端子ととられているわけです。これをエスケープした、ということかな? | ||||||||
|
投稿日時: 2004-10-18 21:43
Jitta様がおっしゃるとおり
"txttest"のダブルクォーテーションが問題でした。 "txttest"を変数へ格納し、OnClickではその変数で記述することにより ダブルクォーテーションをエスケープしました。 はじめはItemDataBoundでClientIDをゲットして、 ClientIDを直接挿入しようと思ったのですが、 処理の順番が、クライアント側のRepeaterが先に実行され、 ItemDataBoundのイベントが後で実行されるため 単純に挿入できませんでした。 かといって、ボタンをサーバーコントロールにはしたくなかったため、 妥協の策として、"txttest"を変数へ格納する方法で解決させました。 更にいい案がありましたら、またご指導お願いいたします。 レスありがとうございました。m(__)m | ||||||||
1
