Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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
弹出asp.net页面、javascript和路径错误404_Javascript_Asp.net_Popup_Virtual Path - Fatal编程技术网

弹出asp.net页面、javascript和路径错误404

弹出asp.net页面、javascript和路径错误404,javascript,asp.net,popup,virtual-path,Javascript,Asp.net,Popup,Virtual Path,我有这个问题。两个页面:一个父页面和一个由javascript在弹出窗口中调用的子页面。 子页面是一个搜索页面。在这种情况下,用户可以选择一个结果,并通过querystring和javascript将其重新发送到父页面 这是我在search.aspx的codebehind中用于执行此操作的脚本: protected void Button4_Click(object sender, EventArgs e) { string url2 = ""; if

我有这个问题。两个页面:一个父页面和一个由javascript在弹出窗口中调用的子页面。 子页面是一个搜索页面。在这种情况下,用户可以选择一个结果,并通过querystring和javascript将其重新发送到父页面

这是我在search.aspx的codebehind中用于执行此操作的脚本:

protected void Button4_Click(object sender, EventArgs e)
    {
        string url2 = "";

        if (GridView1.Rows.Count == 0)
        {
            string myStringVariable = string.Empty;
            myStringVariable = "Nessuna ricerca effettuata!";
            ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + myStringVariable + "');", true);
        }
        else 
        {
            bool chk = false;

            foreach (GridViewRow row in GridView1.Rows)
            {
                RadioButton rad = (RadioButton)row.FindControl("RadioButton1");
                Label lb1 = (Label)row.FindControl("Label1");

                if (rad.Checked)
                {
                    chk = true;
                    url2 = "classmer.aspx?cod=" + lb1.Text;
                    break;
                }
            }
            if (chk)
            {
                StringBuilder st = new StringBuilder();
                st.Append("<script language='javascript'>");
                st.Append("window.opener.location = '" + url2 + "';");
                st.Append("self.close();");
                st.Append("</script>");
                ClientScript.RegisterStartupScript(typeof(Page), "", st.ToString());
            }
            else if (!chk)
            {
                string myStringVariable = string.Empty;
                myStringVariable = "Nessun mercato selezionato!";
                ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + myStringVariable + "');", true);
            }
        }       
现在让我们转到404错误。 父页面具有此urlhttp://localhost/App/ClassMer/classmer.aspx 子页面具有此urlhttp://localhost/App/ClassMer/search.aspx

通过单击搜索页面上的确认按钮,它将重新发送到此urlhttp://localhost/ClassMer/classmer.aspx 在部署应用程序时,绕过作为IIS7中创建的虚拟路径的应用程序文件夹

我如何解决这个问题

我尝试了一些解决方案,比如添加Request.ApplicationPath,或者通过字符串直接指定我传递给javascript的url的路径,但都没有发生

救命啊

谢谢您的请求。我认为应用程序路径应该很好。请尝试以下操作:

url2 = HttpRuntime.AppDomainAppVirtualPath + "/classmer.aspx?cod=" + lb1.Text;

您的意思是当单击确认按钮时,它会将它们发送到classmer.aspx,而不是search.aspx吗?是的。该按钮位于search.aspx上。通过单击它,js将重新发送到classmer.aspx并添加查询字符串。但问题是,它可以正确定位父页面查看最新URL OK,您可能希望编辑您的问题,然后更正该URL以使其更易于理解。Thx,您是对的。现在没事了;谢谢海盗,但它不起作用:\n相同的错误和相同的请求路径您可以更新您的问题并在弹出窗口中包含正在写入页面的Javascript吗?假设这就是问题所在。