gpt4 book ai didi

JavaScript 方法调用只能使用 ScriptManager 调用一次

转载 作者:行者123 更新时间:2023-12-03 04:38:23 25 4
gpt4 key购买 nike

我有一个 .net Web 表单方法可以在一次调用中调用 JavaScript 方法(来自用户控件),但仅触发第一个调用。后端代码为:

bool isAddOnsExisting = priceSummaryList.Any(x => x.ItemName == "AAA");
UcSummary.setPanelVisibility(isAddOnsExisting, "AAAPanel");

bool isControlExisting = priceSummaryList.Any(x => x.ItemName == "BBB");
UcSummary.setPanelVisibility(isControlExisting, "BBBPanel");

后端“UcSummary”的方法是:

      public void setPanelVisibility(bool isExisting, string itemTitle)
{if (isExisting)
{ScriptManager.RegisterStartupScript(Page, GetType(),
"setVisibility","updatePanelVisibility('1','" + itemTitle + "');", true);}
else
{ScriptManager.RegisterStartupScript(Page, GetType(),
"setVisibility","updatePanelVisibility('0', '" + itemTitle + "');", true);}}

JavaScript 方法是:

function updatePanelVisibility(isExisting, itemPanel)
{
var theItemPanel = "#" + itemPanel;

if (isExisting == '1') {
$(theItemPanel).fadeIn();
}
else {
$(theItemPanel).hide();
}
}

我发现只有“AAA”的第一个方法会被触发,但“BBB”会被忽略。有人可以告知原因吗?谢谢!

最佳答案

我认为问题在于您为两个启动脚本使用了相同的类和名称,这导致一个脚本覆盖另一个脚本。

更多信息来自:https://msdn.microsoft.com/en-us/library/bb359558(v=vs.110).aspx

public static void RegisterStartupScript(
Control control,
Type type,
string key,
string script,
bool addScriptTags)

...

key - System.String - 脚本 block 的唯一标识符。

关于JavaScript 方法调用只能使用 ScriptManager 调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195732/

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