首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击控件会导致不必要的JS调用

单击控件会导致不必要的JS调用
EN

Stack Overflow用户
提问于 2014-12-31 04:17:33
回答 1查看 50关注 0票数 0

我有两个JS的意外行为,当我单击一个控件时会被调用。只有在特定条件下单击Tree列表中的按钮时,才会调用这些JS。

现在,即使在条件适用时单击树列表的任何节点,也会调用JS“消息警报”。

打开窗口的另一个JS也在单击树列表的节点时打开,但至少在打开和关闭它一次之后才打开。

代码语言:javascript
复制
 protected void RadTreeList1_ItemCommand(object sender, TreeListCommandEventArgs e)
{
    string idMessage = "";
    if (e.CommandName == "Select")
    {
        if (e.Item is TreeListDataItem)
        {
            TreeListDataItem item = e.Item as TreeListDataItem;
           idMessage = item.GetDataKeyValue("MessageID").ToString();
        }
    }
    addMessage(idMessage);
}
private void addMessage(string idMessage)
{
    if (Label1.Text =="" || Label1.Text==null )
    {
        ScriptManager.RegisterStartupScript(this, this.GetType(), "Message", "alert('You shall be logged-in to post and replay to messages');", true);
    }
    else
    {   
        {
            Session["fatherMessageID"] = idMessage;
            string script = "<script language='javascript' type='text/javascript'>Sys.Application.add_load(ShowWindow);</script>";
            ClientScript.RegisterStartupScript(this.GetType(), "showWindow", script); 
        }
    }
}

打开窗口的函数:

代码语言:javascript
复制
function ShowWindow() {
        var oWnd = window.radopen('Window1.aspx', 'window1');
    }

函数,该函数从窗口内部关闭窗口:

代码语言:javascript
复制
function GetRadWindow() {
        var oWnd = null;
        if (window.radWindow) oWnd = window.radWindow;
        else if (window.frameElement.radWindow) oWnd = window.frameElement.radWindow;
        return oWnd;
    }
    function CloseWindow() {
        var oWnd = GetRadWindow();
        oWnd.close()
    }

函数,该函数在窗口页面中调用CloseWindow:

代码语言:javascript
复制
 finally
        {  
            string script = "<script language='javascript' type='text/javascript'>Sys.Application.add_load(CloseWindow);</script>";
            ClientScript.RegisterStartupScript(this.GetType(), "CloseWindow", script); 

        }

我怎样才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-01 06:16:19

警报问题:您需要放置addMessage(idMessage);在if (e.Item是TreeListDataItem)条件下

对话框问题:不确定window.radopen('Window1.aspx‘、'window1')是否正确。如果您使用的是RadWindow,那么显示窗口函数应该类似于这个var oWnd = window.radopen(null,"RadWindowID");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27716055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档