none
让FormView中的label闪烁 RRS feed

  • 问题

  •     想让label的文字闪烁!但不知道错在哪里了。

        下面那段代码我是依葫芦画瓢舶来的,比较特别一点的是这个label是在FormView里的ItemTemplate模板里。

    <asp:Label ID="ReceivableIDLabel" runat="server" 
                                                Text='<%# Bind("ReceivableID") %>'  />
    <script type="text/javascript"> 
    function changeColor(){
        var color = "orange|gray"; color = color.split("|"); document.getElementById("ReceivableIDLabel").style.color = color[parseInt(Math.random() * color.length)]; 
     }
     setInterval("changeColor()",500); 
     </script>


    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2014年6月5日 9:16

全部回复

  • 你好,

    关于你的问题,我写了个案例给你。

     <head runat="server">
        <title></title>
        <script src="../Scripts/jquery-1.10.2.js"></script>
        <script type="text/javascript">
            $(function () {      
                setInterval("changeColor()",500);
            })
            function changeColor() {
                var color = "orange|gray";
                color = color.split("|");
                $('#<%=FormView1.FindControl("PositionIdLabel").ClientID%>').css("color",color[parseInt(Math.random() * color.length)])    
            }
        </script>
    </head>

    <asp:FormView ID="FormView1" runat="server" DataKeyNames="PositionId" DataSourceID="SqlDataSource1" OnItemInserting="FormView1_ItemInserting" > <EditItemTemplate> PositionId: <asp:Label ID="PositionIdLabel1" runat="server" Text='<%# Eval("PositionId") %>' /> <br /> Position_Nm: <asp:TextBox ID="Position_NmTextBox" runat="server" Text='<%# Bind("Position_Nm") %>' /> <br /> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update" /> &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> </EditItemTemplate> <InsertItemTemplate> PositionId: <asp:TextBox ID="PositionIdTextBox" runat="server" Text='<%# Bind("PositionId") %>' /> <br /> Position_Nm: <asp:TextBox ID="Position_NmTextBox" runat="server" Text='<%# Bind("Position_Nm") %>' /> <br /> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert" /> &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> </InsertItemTemplate> <ItemTemplate> PositionId: <asp:Label ID="PositionIdLabel" runat="server" Text='<%# Eval("PositionId") %>'/> <br /> Position_Nm: <asp:Label ID="Position_NmLabel" runat="server" Text='<%# Eval("Position_Nm") %>' /> <br /> <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" /> &nbsp;<asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete" /> &nbsp;<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" Text="New" /> </ItemTemplate> </asp:FormView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:StrConn %>" DeleteCommand="DELETE FROM [Cus] WHERE [PositionId] = @PositionId" InsertCommand="INSERT INTO [Cus] ([PositionId], [Position_Nm]) VALUES (@PositionId, @Position_Nm)" SelectCommand="SELECT * FROM [Cus]" UpdateCommand="UPDATE [Cus] SET [Position_Nm] = @Position_Nm WHERE [PositionId] = @PositionId"> <DeleteParameters> <asp:Parameter Name="PositionId" Type="Int32" /> </DeleteParameters> <InsertParameters> <%--<asp:Parameter Name="PositionId" Type="Int32" />--%> <asp:Parameter Name="Position_Nm" Type="String" /> <asp:ControlParameter ControlID="PositionIdTextBox" Name="PositionId" Type="Int32" PropertyName="Text"/> </InsertParameters> <UpdateParameters> <asp:Parameter Name="Position_Nm" Type="String" /> <asp:Parameter Name="PositionId" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource> </div> </form>

    你需要通过formview的findcontrol来找到你label的ClientID,然后,通过设置css color,而style.color 是未定义的。

    2014年6月10日 3:21
  •     谢谢解答,想进一步看看您的后台代码,好么?

    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2014年6月10日 8:07
  •     可能我理解不正确,我就是这样写的,也没有用到后台的Findcontrol,没有闪烁

    <head runat="server">
        <title></title>
        <script src="../Scripts/jquery-1.10.2.js"></script>    
        <script type="text/javascript">       
         $(function ()
         { setInterval("changeColor()", 500); })
         function changeColor() 
         {
             var color = "orange|gray";
             color = color.split("|");
             $('#<%=FormView1.FindControl("CTWYMeetingNumberCLabel").ClientID%>').css("color", color[parseInt(Math.random() * color.length)])
         }   
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        <asp:FormView ID="FormView1" runat="server" DataKeyNames="CTWYMeetingNumberID" 
                DataSourceID="SqlDataSource1"  >
            
            
            <ItemTemplate>
                CTWYMeetingNumberID:
                <asp:Label ID="CTWYMeetingNumberIDLabel" runat="server" 
                    Text='<%# Eval("CTWYMeetingNumberID") %>' />
                <br />
                CTWYMeetingNumberC:
                <asp:Label ID="CTWYMeetingNumberCLabel" runat="server" 
                    Text='<%# Bind("CTWYMeetingNumberC") %>' />
                <br />
                CTWYMeetingPictureUrlC:
                <asp:Label ID="CTWYMeetingPictureUrlCLabel" runat="server" 
                    Text='<%# Bind("CTWYMeetingPictureUrlC") %>' />
                <br />
            </ItemTemplate>
            </asp:FormView>
          
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:长铁物业公司资产数据库ConnectionString %>" 
                SelectCommand="SELECT * FROM [CTWYMeetingTable]">
            </asp:SqlDataSource>
        
            </div>
        </form>
    </body>


    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2014年6月10日 8:25
  • 你好,

    我没有后台代码,因为FormView的数据源是Sqldatasource Control,然后我指的  后台的FindControl是在Javascript中寻找Label的ID。

    我的代码是完全可以运行的,我建议你在js上设置断点,看看是否有异常

    2014年6月11日 6:27
  •     难怪咯,我没有装js插件,没用过,还不会用。。。

    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2014年6月13日 1:22