2009-04-07 3 views
1

Я пытаюсь привязать данные от SQL к контроллеру ретранслятора. Я пробовал то, что я обычно делаю для Gridview, и это не работает. Я хотел бы посмотреть пример использования SQLAdapter или использования ExecuteReader из команды. Спасибо!Asp.Net привязывает данные SQL к ретранслятору?

string sql = "SELECT [WallPost], [DatePosted] FROM [WallTable] WHERE [UserId] = '" 
+ Request["friend"] + "'"; 

string strCon =  
System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SocialSiteConnectionString"].ConnectionString; 

SqlConnection conn = new SqlConnection(strCon); 

SqlDataAdapter daUserProfile = new SqlDataAdapter(sql, conn); 

dsSocialSite.UserProfileDataTable tbUserProfile = 
    new dsSocialSite.UserProfileDataTable(); 

daUserProfile.Fill(tbUserProfile); 

rpWall2.DataSource = tbUserProfile; //rpWall2 = repeater control 

rpWall2.DataBind(); 
+0

Пожалуйста, покажите, что вы пробовали, и что «не работает». –

+0

Отлично. Но что не сработало ???? –

+0

Я не уверен, ничего не появилось – user84786

ответ

4

Используя пример я залетела на днях

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" 
AutoEventWireup="true"CodeFile="Default.aspx.cs" Inherits="Default2" 
Title="Untitled  Page" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" 
Runat="Server"> 
<div id="Questions" align="center" style="background-color: #C0C0C0"> 
    <asp:Repeater ID="QuestionsRepeater" runat="server" 
     DataSourceID="SqlDataSourceQuestions"> 
    <ItemTemplate> 
    <div align="left" style="text-indent: 15px"> 
     <asp:Label ID="Label1" 
     runat="server" Text= '<%# Eval("QCategory") %>' 
     Font-Bold="True" Font-Size="Medium"></asp:Label> 
    </div> 

     <br /> 
     <asp:RadioButtonList ID="RadioButtonList1" runat="server" 
     DataSourceID="SqlDataSourceRatings" DataTextField="RatingsCategory" 
     DataValueField="RatingsCategory" RepeatDirection="Horizontal" > 
     </asp:RadioButtonList> 

    </ItemTemplate> 
</asp:Repeater> 

<asp:SqlDataSource ID="SqlDataSourceQuestions" runat="server" 
    ConnectionString="<%$ ConnectionStrings:sandboxConnectionString %>" 
    SelectCommand="SELECT [QCategory] FROM [QuestionsCategory]"> 
</asp:SqlDataSource> 
<asp:SqlDataSource ID="SqlDataSourceRatings" runat="server" 
ConnectionString="<%$ ConnectionStrings:sandboxConnectionString %>" 
SelectCommand="SELECT [RatingsCategory], [RatingsId] FROM [Ratings]"> 

+0

Спасибо, я действительно ищу, чтобы сделать это, используя код за страницей. Я ценю это! – user84786

+0

Хорошо, я действительно пробовал это таким образом, и когда я проверяю запрос, он показывает информацию, которую я хочу. Он выглядит точно так же, как ваш код, потому что я сделал это в режиме проектирования. Когда я иду посмотреть страницу, ничего не появляется ??? – user84786

+0

Nevermind, что сработало ... Я забыл добавить шаблон. – user84786

0

Делать это на HTML (как Джон Nolans ответ) с ретранслятором проще, поскольку использует шаблоны.

Если вы хотите сделать это в коде позади, создать класс, который реализует ITemplate затем поместить его следующим образом:

myRepeater.ItemTemplate = new MyTemplateClass();