在将更多页面移动到另一页面时显示确认警报消息

时间:2011-05-11 08:39:14

标签: c# javascript jquery asp.net

我的网页用户控件很少,我正在使用tinymce扩展程序编辑器..我在一个aspx文件中调用所有控件在不同的btn点击。

我想,当我处于编辑模式并且我正在更改该编辑器中的某些文本而未保存时如果离开该页面则必须询问并显示确认警告msg是否要保存此文本。

怎么做。

在ascx文件

诊断:                     

                    <asp:TextBox ID="txbDiag" TextMode="MultiLine" runat="server" Width="100%" Height="100px"></asp:TextBox>
                    <acr3s:tinymceextender runat="server" ID="TinyMceExtender4" TargetControlID="txbDiag" Theme="Full">
                    </acr3s:tinymceextender>                        
                </td>
我打电话的扩展器是

使用System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; 使用System.Web.UI; 使用System.ComponentModel; 使用System.Web.UI.WebControls; 使用System.Globalization;

[assembly:WebResource(NewCaseWizardBAL.TinyMceExtender.SupportScript,“text / javascript”)]

命名空间NewCaseWizardBAL {     [TargetControlType(typeof运算(文本框))]     公共类TinyMceExtender:ExtenderControl     {

    internal const string SupportScript = "NewCaseWizardBAL.TinyMceSupport.js";

    private TinyMceTheme _theme = TinyMceTheme.Limited;

    private string GetTheme()
    {
        switch (Theme)
        {
            case TinyMceTheme.Limited:
                return "limited";
            case TinyMceTheme.Full:
                return "special";
            case TinyMceTheme.FullWithImage:
                return "specialWithImage";
            default:
                return "";
        }
    }
    [DefaultValue(TinyMceTheme.Limited)]
    public TinyMceTheme Theme
    {
        get { return _theme; }
        set { _theme = value; }
    }
    protected override IEnumerable<ScriptDescriptor> GetScriptDescriptors(Control targetControl)
    {
        return null;
    }

    protected override IEnumerable<ScriptReference> GetScriptReferences()
    {
        return null;
    }


    protected override void OnPreRender(System.EventArgs e)
    {
        base.OnPreRender(e);
        Control targetControl = FindControl(TargetControlID);            
        ScriptManager.RegisterClientScriptInclude(Page, typeof(TinyMceExtender), "include_tiny_mce", ResolveClientUrl("~/Scripts/tiny_mce/tiny_mce.js"));
        ScriptManager.RegisterClientScriptResource(Page, typeof(TinyMceExtender), SupportScript);
        ScriptManager.RegisterClientScriptBlock(this, typeof(TinyMceExtender), "init" + targetControl.ClientID, string.Format(CultureInfo.InvariantCulture, "initTinyMCE ('{0}', '{1}');", targetControl.ClientID, GetTheme()), true);

    }

}

public enum TinyMceTheme
{
    Limited,
    Full,
    FullWithImage
}

}

我无法编写任何onclient事件,因为我在onclient上调用了掩码脚本

所以如何在任何jquery或java脚本的帮助下完成它

我正在使用自动保存插件,但它没有显示任何警告信息

我是否需要在tiny_mce.js中更改内容

请帮我显示确认提示框,询问“你想保存更改吗”

1 个答案:

答案 0 :(得分:1)

您可以使用客户端window.confirm()电话或OnClientClick功能,例如

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:return 
window.confirm('Are you sure about to submit the test?');" OnClick="Button1_Click" />

然后在代码隐藏中:

protected void Button1_Click(object sender, EventArgs e)
{
  Response.Redirect("NextPage.aspx");
}

修改

<script type="text/javascript">
  function finalFunction ()
  {
    return window.confirm('Are you sure about to submit the test?');
  }
</script>

然后调用包含两个脚本的函数:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:finalFunction();" OnClick="Button1_Click" />