Странная проблема с сайтом asp.net - PullRequest
0 голосов
/ 22 мая 2009

Я создал сайт ASP, и у меня есть следующие проблемы: -

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

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

Самое главное Я использую страницу для ввода и просмотра данных в базе данных. Я использовал логическое значение isadmin, которое я устанавливаю в соответствии с учетными данными при загрузке страницы. и я добавил панель, где его свойство visible установлено в Visible = '<%#IsAdmin %>'. Он работает правильно, когда я запускаю его в среде Visual Studio, но когда я публикую и запускаю его, он не работает, и панель просто появляется и остается там. Почему это происходит? Любая идея? Спасибо

Проблема Visible исправлена, так как мне пришлось включить проверку подлинности Windows на сервере. В ожидании ответов на два других вопроса. Спасибо

Ответы [ 3 ]

2 голосов
/ 22 мая 2009
  1. Попробуйте добавить <head runat=server> на главную страницу. Только тогда ASP.net сможет «увидеть» тег и изменить его
  2. Не так уж и плохо, что несколько aspx-страниц имеют одинаковые имена классов. ASP.NET 2.0 начал обрабатывать каждую страницу как свой собственный модуль компиляции или около того. Страницы не могут видеть друг друга. Существует специальная директива, позволяющая страницам видеть друг друга и создавать или манипулировать ими. Так что это не должно навредить
  3. Может быть, вы не проверяли это правильно и ошибаетесь, что он работает в Visual Studio ??? Но в любом случае я бы предложил перенести вашу логику в OnInit, тогда она запускается намного раньше. Я думаю, что дерево управления строится до Page.OnLoad. Что вы делаете, это привязка данных, которая может работать, только если вызывается DataBind, я не уверен

Или используйте безопасный способ: сделайте свойство IsAdmin таким, чтобы оно инициализировалось при первом вызове и кэшировало результат в переменной

0 голосов
/ 22 мая 2009

Ваша первая проблема может быть решена путем заполнения заглавной части директивы @Page на ваших страницах .aspx. На главной странице этот текст будет отображаться в строке заголовка браузера.

и проблема №2 должны быть решены путем добавления файлов с помощью опции добавления файлов в Visual Studio.

0 голосов
/ 22 мая 2009

По вопросу № 2 - добавьте свои страницы с контентом через Project -> Add New Item и назовите его соответствующим образом Таким образом, наименование является последовательным и правильным во всем.

Что касается # 3, какой HTML-код выводится при запуске его с сервера?

...