我可以在jQTouch中使用更新面板吗?

时间:2010-07-28 21:53:09

标签: asp.net ajax updatepanel jqtouch

我正在使用ASP.NET控件来填充我的jQTouch应用程序的HTML,但是我的hrefs在我的搜索页面上停止运行时遇到了问题。我的锚类的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用iPhoney按钮替换丑陋的ASP.NET按钮控件,那么可以获得积分。 :)

1 个答案:

答案 0 :(得分:1)

我认为你将不得不做大量的黑客攻击让ASP.Net使用jqtouch和更新面板,因为你将使用jqtouch插入的JavaScript来对抗ASP.Net插入的JavaScript。在您的示例中,所有链接都将转到相同的锚点(#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>

希望这会有所帮助......

相关问题