如何在formview(asp.net控件)中调用jQuery函数?

时间:2010-04-23 09:36:34

标签: asp.net jquery

我在Form视图中有一个Span。我想在加载时调用jQuery函数,我该怎么做?

这是我的代码:

 <asp:FormView ID="FormView1" runat="server" OnItemCommand="FormView1_ItemCommand">
            <ItemTemplate>
                <asp:HiddenField ID="hidProductID" Value='<%#Eval("ProductID") %>' runat="server" />
                <asp:HiddenField ID="hidCustomerID" Value='<%#Eval("CustomerID") %>' runat="server" />
                <a href='<%=WinToSave.SettingsConstants.SiteURL%>WintoSave/AuctionProduct.aspx?id=<%#Eval("ProductID") %>'>
                    <%#Eval("ProductName")%>
                </a>
                <br />
                <img src='<%#Eval("ImagePath")%>' alt="Image No available" />
                <br />
                <asp:Label ID="lblTime" runat="server" Text='<%#Convert.ToDateTime(Eval("ModifiedOn")).ToString("hh:mm:ss") %>'></asp:Label>

                 <span id='Countdown_<%#Eval("ProductID") %>' onload="GetTimeOnLoad('<%#Eval("ModifiedOn")%>','Countdown_<%#Eval("ProductID") %>');"></span>
                <br />
                <asp:Label ID="lblFinalPrice" runat="server" Text='<%#Convert.ToDouble(Eval("FinalPrice")).ToString("#.00")%>'></asp:Label>
                <br />
                <asp:Label ID="lblFullName" runat="server" Text='<%#Eval("FullName") %>'></asp:Label>
                <br />
                <asp:Button ID="btnAddbid" Text="Bid" CommandName="AddBid" CommandArgument='<%#Eval("ID")%>'
                    runat="server" />
            </ItemTemplate>
        </asp:FormView>
  

以下是我的jquery代码   

   function GetTimeOnLoad(shortly,DivID)
   {
    var dt = new Date(shortly);
    alert(dt);
    alert(shortly);
    alert(DivID);
    var ProductDivID = "#" +DivID;
    alert(ProductDivID);
     $(ProductDivID).countdown({
            until: dt, onExpiry: liftOff, onTick: watchCountdown,
            format: 'HMS', layout: '{hnn}{sep}{mnn}{sep}{snn}'
        });
   }
   function liftOff(){};
   function watchCountdown(){};

在上面的代码我用过  'onload =“GetTimeOnLoad('&lt;%#Eval(”ModifiedOn“)%&gt;','Countdown_&lt;%#Eval(”ProductID“)%&gt;');”&gt; 但是没有工作

2 个答案:

答案 0 :(得分:1)

我可能会尝试这样的东西,而不是onload属性。

将您的范围行更改为:

<span id='Countdown_<%#Eval("ProductID") %>' modified='<%#Eval("ModifiedOn")%>' />

并尝试这个jQuery(未经测试):

$(document).ready(function() {
  $("span[id*=Countdown_]").each( function() {
     var id = $(this).attr("id");
     var modified = $(this).attr("modified");

     GetTimeOnLoad(modified, id);
  });
});

答案 1 :(得分:0)

onLoad事件永远不会被span标记触发。您可以在$(document).ready();

中触发方法的执行
  $(document).ready(function() {
      //put your call here...
  });