使用jquery启动我的计时器

时间:2011-02-28 19:55:23

标签: c# jquery

我的网络应用上有一个名为Timer1和enabled = false的计时器。我想用jquery来启动我的计时器。我认为$("Timer1").enableSelection('True');会起作用,但它似乎不起作用。

这里有什么建议吗?

谢谢你们!

我的jquery代码:

var lastupdate;
        $(function () {
            $.ajaxSetup({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: "{}",
                error: function (a, b, c) {
                    try {
                        var err = (JSON.parse(a.responseText)).Message;
                        alert(err);
                    }
                    catch (ero) {
                        alert(a.responseText);
                    }
                }
            });

            //  updateSettings();
            $("#refreshBaan").click(function () {
                $.ajax({
                    url: "Default.aspx/refreshBaan",
                    success: function (msg) {
                        $("#lastBaanUpdate").html("");
                        $("#lastBaanUpdate").progressbar({ value: 0 });
                        $("#refreshBaan").attr("disabled", "disabled");
                        //**
                        $(function () {
                            $("Timer1").enableSelection('True');
                            $("#progressbar").progressbar({ value: 0 });
                            setTimeout(updateProgress, 200);
                        });
                        function updateProgress() {
                            var progress;
                            progress = $("#progressbar")
    .progressbar("option", "value");
                            if (progress < 100) {
                                $("#progressbar")
        .progressbar("option", "value", progress + 2);
                                setTimeout(updateProgress, 200);


                            }
                        }`

我的C#:

<asp:Timer ID="Timer1" runat="server" Interval="17000" ontick="Timer1_Tick" Enabled="False" />

3 个答案:

答案 0 :(得分:1)

$("Timer1")不是有效的选择器。它应该引用HTML标记,类或id。 例如:$("div")$("#Timer1") o r $(".Timer1") .....等等。

答案 1 :(得分:0)

我真的需要看一些代码......但看起来这可以解决问题:

$('#Timer1').removeAttr('disabled');

答案 2 :(得分:0)

其中包含文字runat="server"的所有标记都是服务器端标记,无法通过您尝试在此处执行的方式直接操作。

计时器本身是一个AJAX控件,它通过Timer ASP.Net类的Render函数发出的javascript实现客户端,这会导致回发以指定的时间间隔发生。

通过查看Reflector中的System.Web.Extensions.dll(System.Web.UI.Timer类所在的程序集),它引用了“MicrosoftAjaxTimer.js”,它包含在嵌入式资源部分中。 DLL。在此文件中,似乎有一个名为Sys.UI._Timer.set_enabled()的函数,它似乎可以执行您想要的操作。

请记住,虽然您直接使用此处的实施详细信息,但Microsoft可随时对其进行更改。我建议不要使用JQuery,而是操纵Timer对象服务器端。