0

ASP.NET コントロールを使用して jQTouch アプリケーションの HTML を埋めていますが、href が検索ページで意図したとおりに機能しなくなるという問題があります。私のアンカー クラスの jQuery 関数は明らかに呼び出されません。リンクが他のページでも同様に構築されていても、問題なくデフォルトのページに戻るだけです。

これは私のリンクが壊れている場所です:

<form id ="form1" runat="server" class="form">
   <asp:ScriptManager ID="ScriptManager1" runat="server" />
   <asp:UpdatePanel runat="server" ID="up1">
       <ContentTemplate>
           <ul class="rounded">
               <li><asp:TextBox ID="txtSearchString" runat="server" name="search-articles" placeholder="Search GROK"></asp:TextBox></li>
               <li><asp:Button ID="btnSearch" runat="server" Text="Search" type="rounded" OnClick="btnSearch_Click"></asp:Button></li>
           </ul>
           <asp:Literal ID="litSearchResults" runat="server"></asp:Literal> <%--HTML for jQTouch inserted here--%>
       </ContentTemplate>
   </asp:UpdatePanel>
   </form>

これは、コード ビハインドによって生成された HTML の例です。

<ul class="edgetoedge"><li class="sep">Found 101 articles</li><li><a href="#article" class="articleLink" id="4773">PAWS: How to Access the Sample Test Database</a></li><li><a href="#article" class="articleLink" id="6464">Mac OS X: Hardware Test</a></li><li><a href="#article" class="articleLink" id="10483">The JavaScript Test</a></li><li><a href="#article" class="articleLink" id="14110">PAWS: Emergency Text Message Test</a></li><li><a href="#article" class="articleLink" id="3659">Definition: remote digital loopback test</a></li><li><a href="#article" class="articleLink" id="4333">Definition: power-on self test</a></li><li><a href="#article" class="articleLink" id="4346">Definition: power-on self test</a></li><li><a href="#article" class="articleLink" id="14166">AVG 9.0 Free Edition: Setting Scan Process Priority</a></li><li><a href="#article" class="articleLink" id="4187">Microsoft Office 2007: Diagnostics</a></li><li><a href="#article" class="articleLink" id="7301">Moodle: Description of Aggregation Methods</a></li><li><a href="#article" class="articleLink" id="14124">AVG 9.0 Free Edition: How can I run the complete scan of whole computer?</a></li><li><a href="#article" class="articleLink" id="13758">LSU A-Z: Office of Assessment and Evaluation</a></li><li><a href="#article" class="articleLink" id="10765">Linux: sed Insert a Newline Into the RHS of a Substitution</a></li><li><a href="#article" class="articleLink" id="5193">Microsoft PowerPoint 2007: Narrating a Slide</a></li><li><a href="#article" class="articleLink" id="7401">Ubuntu:  Deleting Undeletable Files In the Trash</a></li><li><a href="#article" class="articleLink" id="10812">Linux: Remove All Digits/ Input From Inputs</a></li><li><a href="#article" class="articleLink" id="13643">SQL: Create a MySQL DocDB Databse</a></li><li><a href="#article" class="articleLink" id="5784">Linux Gnome: Screens and Graphics</a></li><li><a href="#article" class="articleLink" id="5731">Linux Xfce: Adjust keyboard settings</a></li></ul>

jQTouch は他のすべてのタグを通常どおり処理します。このフォーム内に配置されたために意図したとおりに機能しなくなったのはアンカーだけです。ここで更新パネルを使い続けることはできますか、それとも必然的に壊れますか? 回避策はありますか? それとも、問題へのアプローチが間違っていますか? jQTouch によって生成された AJAXical アニメーションを保持したいことに注意してください。私が不明確であるとわかった場合、またはより多くのコードを見たい場合 (必要と思われるものだけを含めました)、お知らせください。

jQTouch を入手して醜い ASP.NET ボタン コントロールを iPhoney ボタンに置​​き換える方法を教えていただければボーナス ポイントです。:)

4

1 に答える 1

1

jqtouch が挿入する JavaScript で ASP.Net によって挿入された JavaScript と戦うことになるため、更新パネルを使用して jqtouch で ASP.Net を動作させるには、大量のハックを行う必要があると思います。あなたの例では、すべてのリンクが同じアンカー (#article) に移動しています。これを jQtouch のような方法で行うには、すべてのリンクを '#' に移動し、articleLinkClass のタップを処理してから、必要に応じて調整します。

$('.articleLink').tap(function() 
{ 
    var id = $(this).val('id');
    // Pseudo CODE HERE FOR Setting up the article based on id...  E.g.
    $.json(jsonServiceUrl, { article_id: id }, function(data)
    {
        $('#article data).html(data);
    });
    jQt.goTo('article'); // Display the article page...
});

iPhoney のボタンは jQtouch で作成され、そのクラスは「whiteButton」です。つまり、次のようになります。

<a id="myTestButton" class="whiteButton">Test Button</a>

お役に立てれば...

于 2010-07-29T20:26:13.087 に答える