страница aspx в качестве аргумента для страницы

#c# #asp.net

#c# #asp.net

Вопрос:

Это может показаться сумасшедшим, но у меня нет другого выбора, кроме как опубликовать этот вопрос. Один из тестировщиков поднял вопрос, когда страница передается в качестве аргумента на ту же страницу, и она показывает странные результаты.

url-адрес выглядит следующим образом: http://localhost:60729/default.aspx/default.aspx Или также http://localhost:60729/default.aspx/account.aspx

Теперь мой вопрос заключается в том, что при тестировании этого в локальной среде он показывает, что ресурс не найденвведите описание изображения здесь, НО при размещении на сервере IIS он не показывает никакой ошибки ресурса. введите описание изображения здесь

Почему?? Мне не хватает какой-то базовой логики

Комментарии:

1. Вы уверены, что ваш порт правильный?

2. сумасшедшая вещь в том, что она нигде не должна работать

3. что это за странный результат, который получает тестировщик

4. порт @viveknuna равен 60729. я отредактировал то же самое.

5. Возможно ли, что вы развернули это на компьютере IIS через файловую систему и в подкаталог с именем default.aspx?

Ответ №1:

Вы можете проверить маршрутизацию (расположенную в App_start), если вы используете шаблон. Проверьте URL страницы (щелкните страницу в обозревателе решений и проверьте раздел «Перейти к URL» в свойствах. Проверьте свойства, пусть он запускается на странице (вкладка проекта -> «Имя» Свойства -> Веб -> Начать действие -> Конкретная страница.). Проверьте, работает ли он также, каков URL. Если все еще не работает, я рекомендую отредактировать порт. Это может быть достигнуто 2 способами.

  1. Перейдите в Свойства -> Веб-страница и проверьте / отредактируйте порт localhost (в разделе Серверы -> URL проекта)
  2. Нажмите на ваше решение в обозревателе решений и проверьте URL-адрес в окне свойств ниже.

Если все еще не работает: попробуйте отредактировать файл web.config с помощью этого кода:

 <system.webServer>
  <defaultDocument>
    <files>
      <clear />
      /* option 1 /*
      <add value="default.aspx/default.aspx" /> 
      /* option 2 /*
      <add value="default.aspx" />
    </files>
  </defaultDocument>
</system.webServer>  

Также: почему default.aspx/default.aspx? Я думаю, что точка в первом значении по умолчанию также может быть источником проблем.

Редактировать

Итак, я заново создал вашу страницу (без кода), и вот результат: Ваша воссозданная страница по умолчанию

Он отлично работает на локальном хосте. HTML-код:

 <!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        This is the default page<br />
        Enter name:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        Enter Age:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    
    </div>
    </form>
</body>
</html>  

Я предлагаю, если вообще ничего не работает, перестроить ваш проект. Сейчас это единственный способ.

Комментарии:

1. Забавно, потому что localhost также является сервером IIS, но затем на локальном компьютере. Я не думаю, что установка плохая, но, учитывая все, что вы пробовали, вы могли бы рассмотреть возможность переустановки пакета IIS.

2. Ну, я вообще не думаю, что это проблема IIS. Я видел несколько веб-сайтов live .aspx, которые также имеют ту же проблему. Я бы посоветовал вам попробовать все варианты самостоятельно, создав какое-нибудь фиктивное приложение и протестировав его. Если это работает, пожалуйста, поделитесь абстрактным кодом.

3. @Arjun Я этим занимаюсь.

4. ваш код работает нормально, но разместили ли вы свое приложение на сервере IIS и протестировали его, передав ту же страницу в качестве аргумента? Проблема возникает после размещения приложения на сервере. В противном случае он отлично работает на localhost.

5. Также речь идет не о передаче той же страницы. я могу ввести любую другую страницу в качестве аргумента. Но эта проблема не в приложении MVC. Там маршрутизация отлично выполняет свою работу