ASP.NET - Перенаправление ответа в другую папку - PullRequest
4 голосов
/ 13 декабря 2011

Я пытаюсь перенаправить просмотр сетки при выборе. Однако я застреваю при перенаправлении, когда страница, на которую я пытаюсь перенаправить, находится в другой папке.

Вид сетки находится в папке с именем HR. Я пытаюсь перенаправить это в файл с именем Staff в папке с именем Staff (Staff \ Staff). Как я могу перенаправить в другую папку?

    If e.CommandName = "Select" Then
        'Add to session variable; translate the index of clicked to Primary Key
        Session.Add("DetailsKey", GridView1.DataKeys(e.CommandArgument).Value.ToString)
        Response.Redirect("staff\staff.aspx")
    End If

Ответы [ 3 ]

11 голосов
/ 13 декабря 2011
Response.Redirect("~/staff/staff.aspx")
6 голосов
/ 14 декабря 2011

Главное - использовать / вместо \.Вы перенаправляете не на папку на сервере, а на путь на веб-сайте (тот факт, что это означает, что папка на вашем сервере является лишь подробностью реализации).

Вы можете выполнять все формы, которыеВы можете с относительными ссылками.Следовательно, "staff/staff.aspx" переходит к файлу staff.aspx в папке staff, которая находится в текущей папке (при условии, что ваша система основана на папках и файлах)."../staff/staff.aspx" идет вверх по папке, затем к персоналу, затем к staff.aspx."../../staff/staff.aspx" поднимается на два первым."/staff/staff.aspx" идет в корень домена в (http://mysite.com/staff/staff.aspx и т. Д.).

Как и все эти, "~/staff/staff.aspx" идет в корень приложения, затем к персоналу в этом, затемна staff.aspx.Это полезно, если вы работаете на сайте таким образом, что это будет в http://localhost/currentProject/staff/staff.aspx, потому что проект находится на http://localhost/currentProject/, но развернут на http://mysite.com/staff/staff.aspx, как сайт на http://mysite.com/.Таким образом, один и тот же код работает в обоих направлениях.

3 голосов
/ 13 декабря 2011

Это должно сработать

Response.Redirect("~/staff/staff.aspx");
...