2010-06-23 3 views
0

Вот ситуация, у меня есть две таблицы tblProduct и tblCategory, что я пытаюсь сделать, это заполнить gridview, у меня есть LinqDataSource, привязанный к сетке, и правильная ассоциация, сделанная внутри .dbml (tblProduct.CategoryID to tblCategory.ID).Поле не показано в gridview asp.net 3.5

Чтобы показать поля из tblCategory вместо tblProduct.CategoryID в GridView я использую:

<ItemTemplate> 
    <asp:Label ID="Label5" runat="server" Text='<%# Eval("tblCategory.Name") %>'> 
    </asp:Label> 
</ItemTemplate> 

Это прекрасно работает внутри VS2008 отладчика, но как только его опубликованы на сервере (2003 + IIS6. 0) столбец, принадлежащий tblCategory, просто не отображается, вместо того, чтобы иметь имя категории (tblCategory.Name), отображаемое так же, как внутри отладчика, оно пустое, ошибки просто не отображаются.

Может ли кто-нибудь пролить свет?

+0

Можете ли вы подробнее рассказать о «отлично работает внутри отладчика VS2008»? Вы просматривали страницу локально с помощью встроенного веб-сервера визуальной студии? Отображается ли значение на странице? –

+0

Да, используя встроенный сервер, значение отображается правильно. – OldJim

+0

Вы можете отправить сообщение здесь и команду select asp: SqlDataSource, возможно, проблема в Select. – Aristos

ответ

0

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

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

В любом случае, сейчас он работает, благодаря людям, которые пытались помочь.

0

Я издевался над таблицами и страницей .aspx, которую вы описали, и у меня нет никаких проблем. Моя интуиция говорит, что это не проблема с кодом, а проблема с развертыванием. Мне интересно:

  1. Вы настроили проект «веб-сайт» или «веб-приложение»?
  2. Если вы используете проект «веб-сайт», какие параметры вы выбрали при развертывании (то есть: «Разрешить этот предварительный скомпилированный сайт быть обновляемым», «Использовать фиксированные имена и отдельные узлы страниц» и т. Д.)
  3. Вы пробовали перейти на новую, чистую область на своем веб-сервере, а не на верхнюю часть предыдущего выпуска?
+0

Мэтт, проект был настроен как «веб-приложение», после прочтения вашего сообщения я создал новый проект «веб-сайта» и получил тот же результат, у меня есть только «Разрешить этот предварительно скомпилированный сайт для обновления» и создал новую область на веб-сервере и переделал ее с нуля, ничего не изменилось, есть ли какой-либо другой тест, который я могу сделать? Спасибо заранее. – OldJim

+0

Стрелять.Я видел больше подобных проблем с проектами «веб-сайта», чем проекты «веб-приложений», поэтому я надеялся, что ваша проблема будет наоборот. – mattmc3

0

Какие методы вы использовали, чтобы убедиться, что версия, которую вы ищете на сервере, такая же, как у вас на вашей машине разработки?

Возможно, попробуйте добавить комментарий к нижней части страницы разработки, а затем перераспределите. Если вы не видите комментарий к опубликованной версии, вы знаете, что что-то еще не так с вашим развертыванием.

+0

Я сделал это, я даже очистил все это от сервера и воссоздал все с нуля, не повезло, я уверен, что версии совпадают, спасибо, что нашли время ответить. – OldJim

Смежные вопросы