Всплывающая страница asp.net, JavaScript и ошибка пути 404 - PullRequest
0 голосов
/ 20 сентября 2011

У меня есть эта проблема.Две страницы: родитель и ребенок, вызываемый во всплывающем окне с помощью javascript.Дочерняя страница - это страница поиска.В этом пользователь может выбрать один из результатов и отправить его на родительскую страницу с помощью строки запроса и JavaScript.

Это сценарий, который я использую для этого в codebehind of search.aspx:

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.родительская страница имеет этот URL-адрес "http://localhost/App/ClassMer/classmer.aspx" дочерняя страница имеет этот URL-адрес" http://localhost/App/ClassMer/search.aspx"

, нажав кнопку подтверждения на странице поиска, она отправляется на этот URL-адрес "http://localhost/ClassMer/classmer.aspx", минуя папку" Приложение "(то естьвиртуальный путь, созданный в IIS7 при развертывании приложения.)

как я могу решить эту проблему?

Я пробовал какое-то решение, например, добавление Request.ApplicationPath или непосредственное указание путем строки пути к URL-адресу Iперейти к JavaScript, но ничего не произошло.

Помогите, пожалуйста !!

Спасибо

1 Ответ

0 голосов
/ 20 сентября 2011

Request.ApplicationPath должно быть в порядке, я бы подумал. Попробуйте следующее:

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