Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击控制按钮可导致不需要的JS调用_Javascript_C#_Asp.net - Fatal编程技术网

Javascript 单击控制按钮可导致不需要的JS调用

Javascript 单击控制按钮可导致不需要的JS调用,javascript,c#,asp.net,Javascript,C#,Asp.net,我有两个JS的意外行为,当我点击一个控件时会调用它们。 仅当在特定条件下单击树列表中的按钮时,才应调用这些JS 现在,即使在条件适用时单击树列表的任何节点,也会调用JS“message alert” 另一个打开窗口的JS也会在单击树列表的节点时打开,但至少在打开和关闭了一次之后 protected void RadTreeList1_ItemCommand(object sender, TreeListCommandEventArgs e) { string idMessage = "

我有两个JS的意外行为,当我点击一个控件时会调用它们。 仅当在特定条件下单击树列表中的按钮时,才应调用这些JS

现在,即使在条件适用时单击树列表的任何节点,也会调用JS“message alert”

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

 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); 
        }
    }
}
从窗口内部关闭窗口的功能:

function ShowWindow() {
        var oWnd = window.radopen('Window1.aspx', 'window1');
    }
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的函数:

 finally
        {  
            string script = "<script language='javascript' type='text/javascript'>Sys.Application.add_load(CloseWindow);</script>";
            ClientScript.RegisterStartupScript(this.GetType(), "CloseWindow", script); 

        }
最后
{  
string script=“Sys.Application.add_load(CloseWindow);”;
RegisterStartupScript(this.GetType(),“CloseWindow”,脚本);
}

如何解决此问题?

警报问题: 您需要放置addMessage(idMessage);内部if(例如项目为TreeListDataItem)条件

对话框问题:
不确定window.radopen('Window1.aspx','Window1')是否正确。如果您使用的是RadWindow,那么showwindow函数应该类似于var oWnd=window.radopen(null,“[RadWindowID]”)

可能是您需要放置addMessage(idMessage);内部if(例如项目为TreeListDataItem)condition@Sandeep,谢谢你的提示。这解决了消息警报上的不必要呼叫。但是,我仍然存在如上所述打开的窗口的问题。不确定window.radopen('Window1.aspx','Window1')是否正确。如果您使用的是RadWindow,那么showwindow函数应该类似于var oWnd=window.radopen(null,“[RadWindowID]”)@Sandeep,请把你的评论作为答案,我会接受的。谢谢你的提示,我解决了这两个问题。