亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于GridView的更新問題?

關于GridView的更新問題?

眼眸繁星 2018-12-06 15:30:44
我的GridView里面綁定了一個CommandField字段,我點擊更新的時候 提示:?Message="無法將類型為“System.Web.UI.WebControls.HyperLink”的對象強制轉換為類型“System.Web.UI.WebControls.TextBox”。" 這是我綁定的更新事件代碼: ?protected void RowUpdating(object sender,GridViewUpdateEventArgs e)??? {??????? string A = GridView1.DataKeys[e.RowIndex].Value.ToString();??????? string B = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();??????? string C = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();??????? DateTime D = DateTime.Now; ??????? string E = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();??????? string F = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();??????? string G = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim();??????? string s = "update? news set title='"+B+"',source='"+C + "',publictime='"+D+"',newscontent='"+E +"',picture='"+ F +"',hits='"+G +"'where newsID='"+ A+"'";?????? ??????? M.esql(s);??????? Response.Write("<script language=javascript> alert('數據更新成功!');window.location='ManagerNews.aspx'</script>");???? } ? 麻煩各位了,我好急的!
查看完整描述

11 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

你這樣寫代碼是有問題的:

((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0]))

應該是 :TextBox a=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])) as TextBox;

?

if(a!=null){

才是textbox,否則是是哦。

}

你那個錯誤,說明有的不是textbox,有的是System.Web.UI.WebControls.HyperLink

檢查儀下代碼

查看完整回答
反對 回復 2019-01-07
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

不懂? 我就是要將GridView里面的數據更新到數據庫? 還請你直接教教我怎么做吧

查看完整回答
反對 回復 2019-01-07
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

@古鎮的廢墟: 這個也一下說不清楚,你可以google一下。

查看完整回答
反對 回復 2019-01-07
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

@無限遐想:?網上都是一律的,對我也沒有作用,網上的說的GridView里面都沒有HyperLink字段,所以可以轉!

查看完整回答
反對 回復 2019-01-07
?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

@古鎮的廢墟:?GridView裏面的內容,是你自己定義的。如果你全部定義textbox ,那麼你的那個可以運行正確。

查看完整回答
反對 回復 2019-01-07
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

為什么要自己寫代碼呢?gridview本身就自帶新增,編輯,刪除功能啊?不設計界面3分鐘就搞定了.1L已經說得很明白了,你把控件都轉成Textbox去讀取它的值不錯,關鍵是你里面某一列是個HyperLink(超鏈接應該知道吧?),系統轉不了TEXTBOX

查看完整回答
反對 回復 2019-01-07
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

嗯? 就是提示這一列不能轉換?。∧俏乙碌綌祿煸趺崔k呢?自帶的功能根本不好用,好多報錯。還麻煩您給點意見

查看完整回答
反對 回復 2019-01-07
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

你UI的代碼是怎樣的,是用的模板列嗎?如果是的,請參照下面的方法

例如:這一行的第一列的某個文本框的ID為txtTest,在更新這一行的時候獲取txtTest的值的代碼為

((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTest")).Text.Trim();

或者

((TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("txtTest")).Text.Trim();

可以不定位到單元格的,因為如果在后期,你想在這一列之前加上一列,那么你的列索引就要變了。

查看完整回答
反對 回復 2019-01-07
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

我不是用的模版,使用的CommandField字段,那要怎么辦呢?

查看完整回答
反對 回復 2019-01-07
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

@古鎮的廢墟:?

要看看你UI的代碼,才知道具體是怎么回事。

查看完整回答
反對 回復 2019-01-07
  • 11 回答
  • 0 關注
  • 558 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號