2010-07-28 1 views
0

J'utilise les contrôles ASP.NET pour remplir le code HTML de mon application jQTouch, mais j'ai des problèmes avec mes hrefs qui cessent de fonctionner comme prévu sur ma page de recherche. La fonction jQuery pour ma classe d'ancre n'est évidemment pas appelée; il renvoie simplement à la page par défaut, même si le lien est construit de la même manière sur d'autres pages sans aucun problème.Puis-je utiliser des panneaux de mise à jour avec jQTouch?

C'est là mes liens se brisent:

<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> 

Voici un exemple du code HTML généré par le code derrière.

<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 gère toutes les autres balises normalement, il est juste les ancres qui ont cessé de fonctionner comme prévu en étant placé à l'intérieur de cette forme. Puis-je continuer à utiliser des panneaux de mise à jour ici ou va-t-il inévitablement casser? Y at-il un travail autour? Ou suis-je aborder le problème incorrectement? Gardez à l'esprit que je veux conserver les animations AJAXical produites par jQTouch. Si vous trouvez que je ne suis pas clair ou que vous aimeriez voir plus de code (j'ai seulement inclus ce que je crois nécessaire), s'il vous plaît faites le moi savoir.

Points bonus si vous pouvez me dire comment obtenir jQTouch pour remplacer le laid le contrôle bouton ASP.NET avec un bouton iPhoney. :)

Répondre

1

Je pense que vous allez avoir à faire une tonne de hacks pour obtenir ASP.Net fonctionnant avec jqtouch avec des panneaux de mise à jour, comme vous allez combattre le JavaScript inséré par ASP.Net avec le JavaScript que jqtouch inserts. Dans votre exemple, tous vos liens vont à la même ancre (#article). Pour faire cela d'une manière jQtouch, vous auriez tous les liens allant à "#" et gérer le robinet de l'articleLinkClass et ensuite ajuster comme vous le souhaitez.

$('.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... 
}); 

Les boutons iPhoney sont créés dans jQTouch comme « s avec leur classe comme "whiteButton", i.e. .:

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

Hope this helps ...

Questions connexes