2010-04-28 48 views
-1

SqlDataReader myreader; myreader = cmmd.ExecuteReader();asp.net中的字符串生成器類

     StringBuilder sb = new StringBuilder(); 
         sb.Append("<b>Vaccine</b>&nbsp;&nbsp;&nbsp;<b> Vaccination Date</b>&nbsp;&nbsp;&nbsp;<b> Vaccination Due Date</b>&nbsp;&nbsp;&nbsp;<b> Incomplete Vaccination </b>&nbsp;&nbsp;&nbsp;<b>Dose No.</b>&nbsp;&nbsp;&nbsp;<b> Remarks </b><br/><br/>"); 
         while (myreader.Read()) 
          { 
            sb.Append(myreader["VaccineID"]); 
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); 
            sb.Append(myreader["DateOFVaccine"]); 
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); 
            sb.Append(myreader["NextVaccinationDueDate"]); 
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); 
            sb.Append(myreader["AnyIncompleteImmunization"]); 
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); 
            sb.Append(myreader["DoseNumber"]); 
            sb.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); 
            sb.Append(myreader["Remark1"]); 
            sb.Append("<br/>"); 
          } 
         lblDisplayDetails.Text = sb.ToString(); 
         myreader.Close(); 

究竟我想要的是檢索數據(可以是從單獨的表),然後顯示它們把一些STYLE(字體,顏色等)。

從gridview中檢索多個表是可能的嗎?我可以使用DataReader,但是如何以樣式(字體,顏色等)顯示它們? 問候 Indranil

+6

育。我真的希望你沒有爲NHS開發這個功能! – UpTheCreek 2010-04-28 10:06:43

+0

我認爲這將工作肯定 或 你可以關心一個div元素 並做divId.innerhtml = sb.ToString(); – 2010-04-28 10:07:53

+3

這段代碼現在誠實地給了我一些小毛病。 – 2010-04-28 14:20:36

回答

0

您需要使用Literal控制,並因爲你的字符串包含HTML標記,你需要設置控件的ModePassThrough

這是做非常危險的事情,因爲如果黑客或者挖掘用戶以某種方式將字符串<script>alert('haha i hacked your site')</script>存入任何數據庫單元格中,例如「Remark1」,那麼您剛好成爲受害者,因此您需要調用Server.HtmlEncode在你的所有myr上EADER領域:

sb.Append(Server.HtmlEncode(myreader["Remark1"])); 

喜歡本頁建議:http://msdn.microsoft.com/en-us/library/a2a4yykt.aspx

+1

感謝您的接受,但請考慮研究gridview和中繼器。你不再是PHP的土地了! – 2010-05-11 08:22:54

13

2個字!

GridView 

&

Repeater 
+4

這絕對是一種方式。程序員非常棒,「我知道你問了X,但是真的,你需要使用Z」 – 2010-04-28 10:08:50