文章內容的段落?分行?分段?換行?#2 (DetailsView、FormView為例) DataBinding Expression
================================================
相同的成果,我們用另一種方法來撰寫
書本「下集」有一章很特別,專門講「DataBinding與 DataBinding Expression」
以前也有相關範例。
我們將沿用這一章的技巧來作這個範例。您可以在以前的範例看到類似的作法:
.....................................................................................................................................................
Q : 我用 FormView與 DetailsView來呈現一篇文章、一個產品的內容
如何讓文章段落(換行、換列)能呈現在畫面上?
原本的畫面呈現,文章擠在一起,沒有分段落
修改後,變成這樣的畫面(文章每一段都有分段、換行、分段落)
當您輸入文字時,按下「Enter」鍵換行、換列、換段落(分段落)
瀏覽器是無法辨識這種「段落符號」的
瀏覽器只認識HTML碼!......
或是 等等
或是 等等
您在文字方塊(TextBox)輸入的段落符號是這種:
C#的換行、換列 "\r\n"
VB的換行、換列 vbcrlf
.....................................................................................................................................................
HTML畫面設計:
1. DetailsView + SqlDataSource,並且把文章內容(article欄位)設定為樣板 / Template
2. 把原本的 Label
改成 Text='<%# myArticle() %>'
>
.....................................................................................................................................................
ASP.NET課程 / ASP.NET教學,請看
http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx
[台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr
ASP.NET影片、遠距教學,請看:
http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx
[遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!
後置程式碼:
傳統的ADO.NET程式寫上去即可
public String myArticle()
{
//=======微軟SDK文件的範本=======
SqlConnection Conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["Web.Config設定檔裡面的DB連結字串"].ConnectionString);
SqlDataReader dr = null;
SqlCommand cmd = new SqlCommand("select article from test where id = " + DetailsView1.DataKey.Value , Conn);
String ArticleString = "";
try //==== 以下程式,只放「執行期間」的指令!=====================
{
//== 第一,連結資料庫。
Conn.Open(); //---- 這時候才連結DB
//== 第二,執行SQL指令。
dr = cmd.ExecuteReader(); //---- 這時候執行SQL指令,取出資料
//==第三,自由發揮,把執行後的結果呈現到畫面上。
dr.Read();
ArticleString = dr["article"].ToString().Replace("\r\n", "
");
");
//建議使用 .ExecuteScalar() 會更好
}
catch (Exception ex)
{
Response.Write("Error Message---- " + ex.ToString() + "
");
");
}
finally
{
// == 第四,釋放資源、關閉資料庫的連結。
if (dr != null)
{
cmd.Cancel();
dr.Close()
}
if (Conn.State == ConnectionState.Open)
{
Conn.Close();
}
}
return ArticleString;
}
這個範例有哪些缺點呢?
剩下兩個作法,包含這篇(前一篇文章)的範例,請由此下載:
............................. 寫信給我,mis2000lab (at) yahoo.com.台灣.........................................................
網頁上的補充範例(售後服務),不一定能立即提供 VB / C#語法(看時間夠不夠寫,請不要跟我們要)。
網頁上的補充範例(售後服務),不一定能立即提供 VB / C#語法(看時間夠不夠寫,請不要跟我們要)。
但書本上面的範例,一定有 VB / C#雙語法給您學習。 請看我們的「售後服務」範圍(嚴格認定)。
防範SQL Injection / XSS攻擊,請看:ASP.NET安全寫作 資料來源 -- TWISC@NTUST網路應用安全知識庫
沒有留言:
張貼留言