1

私はjQueryモバイルコントロールに取り組んでいます。マスターページにjqgridがあり、選択した行IDをクリックすると、そのIDを持つ別のページにリダイレクトされます。そのページには、jsonにバインドされているドロップダウンがあります。バインド後、ボタンをクリックするだけでデータベースにデータを保存したいと思います。

問題は、ボタンクリックイベントが発生しないことですが、その特定のaspxを単独で実行すると、ボタンクリックイベントが発生します。

 <a href="#" data-role="button" data-inline="true" id="btnsave"  data-transition="fade" 
      data-theme="b" data-icon="check" data-iconpos="right" runat="server" 
      onserverclick="btnsave_click" >Save</a>
4

1 に答える 1

0

data-ajax="false"をリンクに追加してみてください。

例えば

<a href="#" data-role="button" data-ajax="false" data-inline="true" id="btnsave"
         data-transition="fade" data-theme="b"  data-icon="check" data-iconpos="right" 
         runat="server" onserverclick="btnsave_click" >Save</a>

ここで説明すると、デフォルトでは、jQuery Mobile でページにリンクすると、JQM はそのページを ajax 経由で取り込み、現在のページの DOM にアタッチします。JQM が ajax を介してページを取り込む場合、JQM はそれを取り込むだけで、ページ内またはページの他の場所にある可能性のあるリソースをロードdata-role="page"しませ<head>

あなたの質問とマークアップから、マークアップ/コードをこれ以上見ることなく、asp.netを使用しているように聞こえます。マスターページにリンクされたページに必要なコードがないことが問題であると確信しています.

通常、これを解決するには、リンクされたページのdata=role="page"div 内に一意のコンテンツを配置するか、ページを呼び出すときに、ページが完全に読み込まれていることを確認します。つまり、ajax はありません。あなたの場合、サーバー メソッドを呼び出そうとしているように見えるので、ポストバックを作成するコードはおそらく 2 番目のページの div の外にあり、その場合は ajax なしでページをロードする必要があります。data-ajax="false"をリンクに追加します。

于 2012-12-04T15:29:47.890 に答える