-1

在我后面的代码中,我有一个搜索功能,我想在它的开头和结尾调用一些 javascript。

为此,我尝试了几种方法,但没有一种工作!

这是我尝试过的:

这个 :

this.Page.ClientScript.RegisterStartupScript(this.GetType(), string.Empty, "<script type='text/javascript'>document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block';</script>");

这个 :

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Wait", "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block';", true);

尽管如此,我还是在 .aspx 上写了一个函数:

function wait() {
    document.getElementById('light').style.display = document.getElementById('light').style.display == 'block' ? 'none' : 'block';
    document.getElementById('fade').style.display = document.getElementById('fade').style.display == 'block' ? 'none' : 'block';
}

并尝试这样称呼它:

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Wait", "<script>wait();</script>");

和这个 :

this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Wait", "<script>wait();</script>");

知道我做错了什么吗?

编辑

我在这里调用函数,一个在if运行中,另一个在else不运行

if (someTest())
{
    this.someControl.CssClass = "alert_Class";
    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>noCriteriasEnter();</script>");
    this.someControl.Focus();
    return;
}
else
{
    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Wait", "<script>wait();</script>");
}

编辑 2

最好的来了:当我在 C# 函数(后面的代码)末尾调用该函数时,它运行!!!

4

1 回答 1

0

您的代码没有任何问题。我以前做过。问题是您是否在客户端代码中使用 SCRIPTMANAGER。只是在后面的代码中编写脚本管理器是行不通的。

您的 HTML 中的任何地方都有这一行吗?

<asp:ScriptManager ID="smCharts" runat="server" />

如果没有,请对此进行一些研究并将其添加到您的标记中

于 2013-07-29T13:33:15.600 回答