gpt4 book ai didi

javascript - ScriptManager 在 Mono 下不加载 javascript 方法

转载 作者:行者123 更新时间:2023-11-28 02:23:38 24 4
gpt4 key购买 nike

我一直在尝试解决我在使用 asp.net ScriptManager.RegisterStartupScript() 时遇到的这个问题。

代码行如下 -

string script = string.Format("initGame('{0}','{1}');", var1, var2);

ScriptManager.RegisterStartupScript(Page, typeof(Page), "mainGameScript", script, true);

该页面托管在运行 apache 2 和 mono 的 Ubuntu 计算机上。无论我在 RegisterStartupScript 中编写什么都不起作用。

我尝试过的事情 -

  1. 带有 IIS 的 Windows Server - 完美运行
  2. 在调用 ScriptManager 之前立即输出一些网页文本 -作品
  3. 在调用“initGame()”方法的按钮中进行编码 - 有效
  4. 将 javascript 直接放入 RegisterStartupScript 调用中 -不起作用
  5. 将 JavaScript 放入页面 - 有效

对我来说,ScriptManager 行似乎存在问题,要么是一些微不足道的问题,要么是我需要做/更改才能在 Mono 下运行的问题。如果你想看一下,网址是 www.zephyrisgames.net/zephyrisgalaxies/Main.aspx

谢谢,如果您需要更多信息,请告诉我,我会尽力提供。

最佳答案

在对此争论不休之后,我越来越确信 ScriptManager 存在问题。我什至从存储库安装了 Mono 3.07,但仍然没有解决任何问题。

解决这个问题的方法是将 ScriptManager 替换为 ClientScript 类。方法保持不变,尽管 ClientScript 类下的 RegisterStartupScript() 没有添加脚本标记的选项。

一个简单的补救措施如下 -

string tagStart = "<script type=\"text/javascript\">";
string tagEnd = "</script>";
string script = string.Format("initGame('{0}','{1}');", var1, var2);

script = tagStart + script + tagEnd;

if (!Page.ClientScript.IsStartupScriptRegistered("mainGameScript"))
{
//ScriptManager.RegisterStartupScript(Page, typeof(Page), "mainGameScript", script, true);
// Left in for historical purpose

ClientScript.RegisterStartupScript(typeof(Page), "mainGameScript", script);
}

关于javascript - ScriptManager 在 Mono 下不加载 javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283493/

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