0

以下のように div 要素があるページがあります。

  `<div id="Dailymain" runat="server" class=" sidebar" onclick="ClickDaily">
 <div runat="server" id="Daily" class="sidebar_item" onclick="ClickDaily" >
       <h2><a id="Daily" href="Productivity.aspx">Daily</a></h2>            
        <p>                                     </p>
      </div><!--close sidebar_item--> 
    </div>`

そして私のpage_loadコードにはこれがあります、

  Weekly.Attributes["onclick"] = this.ClientScript.GetPostBackEventReference(this,        "ClickWeekly");

IPost Back EventHandler Members インターフェイスには、これがあります。

 'if (eventArgument == "ClickWeekly")    
 {
 Weekly_Click();
  }'

しかし、そのdiv要素がクリックされると、クリックイベント関数が起動しません..どこが欠けていますか.助けてください...

4

2 に答える 2

0

クリック ハンドラーを Weekly というオブジェクトに追加しようとしていますが、投稿したマークアップにはその ID を持つ要素がありません。

また、同じ ID「Daily」を持つ複数の要素があります。ID 属性は一意である必要があります。

上記のように、onclick() 関数は javascript を呼び出します。ポストバックを引き起こし、必要なサーバー側関数を呼び出す JavaScript 関数を定義する必要があります。または、代わりにサーバー側の機能を JavaScript として実装できますか?

于 2013-05-23T15:36:58.633 に答える
-1

次のようなコードを記述します ステップ 1: In Page Load イベント

    Dailymain.Attributes.Add("onclick", "return ClickDaily()")

ステップ 2: JavaScript イベントを定義する

 function ClickDaily()
 {
    alert("call daily");
    return false;
 }
于 2013-05-23T12:59:43.927 に答える