[ASP.net][GridView](note)從GridView取值填入TextBox時變成<p>&amp;nbsp</p>

摘要:[ASP.net]從gridview取值填入textbox時會變成『 』

  gridview在產生出前端的格子時,若格子中沒有任何資料,它的框線會不顯示,

所以 TableCell 內的資料若為空字串時,它會強制輸出『&nbsp;』,

此為一個空白字元,目的是使 Cell 的框線可以呈現。

故在gridview中,按下選取後把gridview的值填入網頁上其它的textbox中

若在gridview時已經是空白沒值了(在DB中呈現是null),

在textbox中會呈現『&nbsp;』,此時你若再按下更新寫入DB中,

就會把『&nbsp;』也寫入DB了,

結果原本在DB中是顯示null的值,會被你寫成『&nbsp;』。

解決方法: 在取得 TableCell.Text 時,可以把 『&nbsp;』取代為空字串

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
int i = Convert.ToInt32(GridView1 .SelectedIndex );
        Session["pk"] =(int)GridView1.SelectedDataKey.Value ; //要加上.Value

   TextBox_comment.Text = GridView1.Rows[i].Cells[17].Text.Replace("&nbsp;","");

   }

 

 


另外語法參考:

去掉將存入SQL的奇怪符號們

welkinStr = welkinStr.Replace(Convert.ToChar(9),' '); // 去掉Tab
welkinStr = welkinStr.Replace(Convert.ToChar(10),' '); // 去掉換行
welkinStr = welkinStr.Replace(Convert.ToChar(13),' '); // 去掉Enter
welkinStr = welkinStr.Replace(" ","").Trim();  // 去掉空白

或以上四行寫成:

new Regex("\s+").replace("1 2 3 4 5","")

 
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來將Yahoo上與聯播網的廣大流量導至自己的網站!

●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD

 

​​