2011-10-14 31 views
10

tbl_messageテーブルからTitleとRespondBYを取得するためのクエリを実行していますが、リピータにデータバインディングを行う前にタイトルを復号化します。どのように私はdatabindを行う前にタイトルの値にアクセスできます。asp.netのdataSetから単一の値を取得

string MysqlStatement = "SELECT Title, RespondBy FROM tbl_message WHERE tbl_message.MsgID = @MsgID"; 

using (DataServer server = new DataServer()) 
{ 
    MySqlParameter[] param = new MySqlParameter[1]; 
    param[0] = new MySqlParameter("@MsgID", MySqlDbType.Int32); 
    param[0].Value = MessageID; 
    command.Parameters.AddWithValue("@MsgID", MessageID); 
    ds = server.ExecuteQuery(CommandType.Text, MysqlStatement, param); 
} 
rptList.DataSource = ds; 
rptList.DataBind(); 


    <table style="width: 498px; color: #F5F5F5;"> 
     <asp:Repeater ID="rptList" runat="server"> 
      <HeaderTemplate> 
      </HeaderTemplate> 
      <ItemTemplate> 
       <tr> 
        <td width="15%"> 
         <b>Subject</b> 
        </td> 
        <td width="60%"> 
         <asp:Label ID="lbl_Subj" runat="server" Text='<%#Eval("Title")%>' /> 
        </td> 
       </tr> 
+1

ds [0] ["Title"]? – Rob

+1

あなたのコードでは、 "RespondBy"の後に余分な "、"を入れました。クエリは正常に動作していますか? –

答えて

16

おそらく、コードの一部を以下のようにあなたは、タイトルを得ることができますし、dataset

string title = ds.Tables[0].Rows[0]["Title"].ToString(); 
0

わからないからタイトルを取得することができます

rptList.DataSource = ds; 
    rptList.DataBind(); 

次のコード部分の前に、このコーディングをしてみてください何解読することを意味しますが、タイトルにテキストをバインドするのではなく、その上にロジックを適用してタイトルを変更する場合は、タイトルを入力とするメソッドを作成できます。 dは復号化されたテキストを返します。ラベルをこのメソッドにバインドし、タイトルを渡します。

2

文字列タイトル= ds.Tables [0] .Rows [0] [0] .ToString();

タイトル名の代わりにインデックスを使用しました。個人の好み。