1

我有一堂课。只有 deleteRecord 功能

protected virtual void DeleteRecord
{
    if(..)
    {}
    else(..)
    {
         Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script language='javascript'>alert('Are you sure?')</script>", true);
    }
}

我想显示 javascript 消息。但我想我犯了一个错误。我该怎么做?

4

2 回答 2

1

您已添加true到最后一个参数Page.ClientScript.RegisterStartupScriptaddScriptTags. 请参阅http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx

因此,您基本上<script>在一个<script>

尝试这个:

Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "alert('Are you sure?')", true);

还要确保key参数对于页面是唯一的。如果您已经有一个StartupScript带有“警报”键的,那么这也可以阻止它调用 JavaScript 代码。

于 2013-06-27T14:40:42.583 回答
0

我创建了这个可以从任何网页调用的静态类:(我使用 AJAX Toolkit 作为脚本管理器,但您也可以使用 ASP.NET 中的默认类)

public static class ClientJS {
    public static void send(string js) {
        Page page = HttpContext.Current.Handler as Page;
        ToolkitScriptManager.RegisterStartupScript(page, page.GetType(), Guid.NewGuid().ToString(), "setTimeout(function(){" + js + "},1);", true);
    }
}

像这样使用它:

ClientJS.send("alert('Are you sure?');");
于 2014-08-05T15:00:44.333 回答