gpt4 book ai didi

javascript - 为什么我的 ASP.net 函数只执行一次?

转载 作者:行者123 更新时间:2023-12-05 03:16:46 26 4
gpt4 key购买 nike

我有以下函数(在 file.aspx.cs 中):

private void Alert(string message)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
"alertMessage", $"alert('{message}')", true);
}

当我连续调用此函数两次或更多次时,屏幕上只会弹出第一个警告。例如

protected void Button1_Click(object sender, EventArgs e)
{
// button1 on click event
Alert("First alert"); // this does show up on the screen
Alert("Second alert"); // this does not show up
}

这是为什么?

最佳答案

您需要为这些脚本 block 提供不同的键,例如 alertMessage1alertMessage2。来自 Microsoft docs :

A client script is uniquely identified by its key and its type. Scripts with the same key and type are considered duplicates. Only one script with a given type and key pair can be registered with the page. Attempting to register a script that is already registered does not create a duplicate of the script.

不过我不推荐这种编码风格。相反,我建议使用 API 端点并使用 JavaScript 而不是服务器端 C# 代码来驱动 UI。这很笨重。每次按下按钮都会导致整个页面重新加载和服务器端呈现,然后脚本 block 被插入到 HTML 代码中,这使得缓存变得不可能。

关于javascript - 为什么我的 ASP.net 函数只执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74502267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com