Ошибка синтаксического анализа главной страницы ASP.NET - PullRequest
2 голосов
/ 18 ноября 2011

У меня есть проект Visual Studio 2010 с мастер-страницей, которая прекрасно работает.

~/Site.Master

В этом же проекте находится папка с другой структурой каталогов, которая должна использовать другую мастер-страницу.

/xr

В эту папку я включил мастер-страницу для этих файлов.

/xr/XR.Master

Мой Default.aspx файл пытается получить доступ к этой мастер-странице, используя следующие параметры:

<%@ Page Title="XR Project" Language="C#" MasterPageFile="~/xr/XR.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test1.Default" %>

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

Сообщение об ошибке анализатора: The file '/xr/xr/XR.Master' does not exist.

Однако Ошибка источника возвращает строку 1, как я показал выше.

Вот что я пробовал:

  • Я переместил страницу XR.Master в корневую папку и изменил все файлы в папке xr для ссылки на главную страницу XR, используя следующие параметры:

  • Я отладил и протестировал код на моей машине, используя localhost,d все работало нормально.

  • Я вытолкнул его на удаленный веб-сайт и получил новую ошибку:

Сообщение об ошибке анализатора: The file '/xr/~/XR.Master' does not exist.

Что я делаю не так?

РЕДАКТИРОВАТЬ: Мне не нравится размещать ссылку на страницу, но я сделаю это ненадолгопока это не будет решено:

Оттуда вы увидите, что все работает достаточно хорошо, за исключением ссылки на XR1200.

Ответы [ 2 ]

3 голосов
/ 19 ноября 2011

Вот лучший совет, который я могу вам дать, не зная слишком много о структуре вашего проекта. Я надеюсь, что вы используете VS2010, так что все будет выглядеть так же, как на моей машине. Один простой способ получить путь к вашей главной странице - это добавить тестовую веб-страницу из мастер-файла, путь к ней будет предварительно задан, и вы можете использовать ее на своих существующих страницах.

  • Вот структура моего блога. Щелкните правой кнопкой мыши папку, в которую вы хотите добавить тестовую страницу, и нажмите Добавить новый файл.
    enter image description here

  • Добавление новой веб-формы с использованием главной страницы. Это только для тестирования. enter image description here

  • Теперь найдите вашу мастер-страницу и выберите ее. enter image description here

  • Отсюда просто найдите вновь добавленную страницу контента в структуре вашего решения и проверьте файлы кодов для пути к вашей главной странице. enter image description here

  • После того, как вы убедились, что ваш путь верен, если он все еще бомбит после публикации, у вас возникла проблема, когда не все ваши проекты строятся должным образом, или файлы не отображаются. не загружается должным образом, и в конечном итоге это будет то, что вам, возможно, придется найти самостоятельно. Я все еще предлагаю удалить что-нибудь в папке вашего паба на вашем сервере и попробовать чистую публикацию.

Надеюсь, это поможет!

1 голос
/ 19 ноября 2011

Я предполагаю, что настройки iis на разных компьютерах разные.как правило, вы видите что-то подобное, когда у вас есть один компьютер с самим сайтом в качестве веб-сайта, а другой компьютер с самим сайтом в качестве приложения на веб-сайте (например, веб-сайт по умолчанию).похоже, что вы обратились к этой возможности, используя ~ в пути, но, возможно, в развертываемом вами iis каталог сайта не настроен как веб-сайт или приложение, а является просто подкаталогом сайта,в этом случае ~ будет означать каталог сайта (возможно, с именем xr?), а сайт находится в подкаталоге этого каталога с именем xr.в этом случае решение, вероятно, состоит в том, чтобы настроить iis таким образом, чтобы у вас был каталог приложения, настроенный как приложение на сервере, на котором вы развертываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...