从javascript更改标签文本 - c#

所以我的第一个问题是单击按钮时会发生什么?页面刷新或其他问题,因为我正在做一个小项目,并且遇到了问题

<script language="javascript" type="text/javascript">
    var totalTime = 0;
    var interval = 0;
    var min = 0;
    var hr = 0;
    var sec = 0;
    var secstr = 0;
    var minstr = 0;
    var flag = 0;
    window.onload = startResetTimer

    function startResetTimer() {
        totalTime = 20;
        hr = Math.floor(totalTime / 3600);
        sec = totalTime % 60;
        if (sec == 0)
            min = (totalTime / 60) % 60;
        flag = 1;
        interval = setInterval(function () {
            if (flag == 1) {
                if (totalTime <= 0) {
                    flag = 0;
                    PageMethods.CallIt();
                }
                else {
                    totalTime--;
                    hr = Math.floor(totalTime / 3600)
                    sec = totalTime % 60
                    if (sec == 0)
                        min = (totalTime / 60) % 60
                    if (sec < 10)
                        secstr = "0" + sec
                    else
                        secstr = sec
                    if (min < 10)
                        minstr = "0" + min
                    else
                        minstr = min
                }
            }
            console.log(document.getElementById('MainContent_Label2'));
            document.getElementById('MainContent_Label2').innerHTML = "" + hr + ":" + minstr + ":" + secstr
        }, 1000)
    }

</script>

这是计时器代码,当计时器到期时,我正在调用页面方法“ CallIt()” //只是调试名称//
//asp.net代码

public partial class _Default : System.Web.UI.Page
{
    public static _Default obj;
    protected void Page_Load(object sender, EventArgs e)
    {
        obj = this;
    }
    public void print()
    {
        Label1.Text = "called form every where";
    }
    [WebMethod]
    public static void CallIt()
    {
        obj.print();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        obj.print();
    }
}

现在从CallIt()我调用另一个函数print()来更改“ Label1”的文本,并通过单击按钮调用相同的函数print(),现在当我按下按钮时,它将更改Label1的文本,但是当计时器到期时,它不会't,print()函数被称为我通过使用断点检查它,但是它没有反映在页面中。所以我认为页面刷新应该有所帮助,所以我

if(totalTime <= 0) {
   PageMethods.CallIt();
   window.location.reload() ;
}

但这会重新启动计时器。

参考方案

当您从javascript调用asp.net页面的Web方法时,MS javasvript引擎会对该页面执行ajax请求,然后将服务调用所提供的数据返回给javascript。您的CallIt方法不会返回任何内容,因此在javascript中您将一无所获,并且正如我说过的,其他任何内容都不会被评估,也请不要将“ this”存储在static属性中,因为“ Page对象每次在每次请求期间都会重新创建,因此您在多客户端环境中可能会出现一些错误。

因此,我建议您从javascript调用此方法,收集该方法返回的数据,并在浏览器中使用javascript手动更新标签

单击选项卡链接时,请专注于每个引导选项卡中的First asp:textbox - javascript

我是开发的新手,并开始开发简单的asp.net应用程序。我正在使用每个都有一些asp标签和文本框的bootstrap选项卡。单击该选项卡时,我要重点关注选项卡内容中的第一个文本框。我搜索了各种答案,但都是针对输入字段的(exp:输入type =“ text”)。找不到适用于ASP文本框的任何内容。任何帮助将不胜感激。谢谢 javascript参考方案 ASP…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

在JavaScript中运行方法C# - javascript

打扰一下,我有这种C#asp方法。受保护的无效btnSave_Click(对象发送者,EventArgs e)有谁知道我该如何发送脚本给您?可以办到?。 javascript大神给出的解决方案 是的,那可以做到。为此,您在.aspx.cs页中创建了函数,然后单击保存按钮上的代码将其复制到函数中,然后执行以下步骤。//Call cs method from J…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

禁用和启用复选框上的文本框单击表 - javascript

我已经用数据填充了表格,然后在其中添加了复选框和文本框。下面是我的代码:int count1 = 0; TableCell tc; foreach (TableRow tr in Resource_TBL.Rows) { tr.Cells.Add(tc = new TableCell()); CheckBox cbox = new CheckBox(); c…