作者KSCIECS (幹!!研究所了不起喔!!)
看板C_Sharp
標題[問題] 搜尋後 跳轉下一頁
時間Mon Apr 16 13:24:10 2012
cs檔
protected void BtnSearch_Click(object sender, EventArgs e)
{
using(IntraDB DB = new IntraDB())
{
using(IDataReader dr =DB.ClientInfoSearch(1, txtSearch.Text))
{
gdvSearch.DataSource = dr;
gdvSearch.DataBind();
}
}
}
aspx檔
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# String.Format
("a1.aspx?CID={0}", Eval("CID"))%>' ><%#Eval("BusinessName")%></asp:HyperLink>
原本寫的功能是search頁面搜尋會員資料 搜尋出來的會員資料放到gridview
每個會員會形成一個超連結 點下去 會跳到修改資料的頁面
並且把有的資料帶過去
然後我現在要寫的是 如果搜尋出來的資料只有1筆
就不會出現連結 而會直接跳到修改的頁面 並且原有的資料也會帶過去
請問一下要怎麼寫 我想了很久 網路也有查
不過就是寫不出來 謝謝各位了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.80.253.185
1F:推 qwer820404:那就在後端進行判斷 但是Datareader是無法取得資料數 04/16 20:44
2F:→ qwer820404:如果你是用gridview建議就用datatable比較適合吧 04/16 20:45
3F:→ qwer820404:DataTable.Rows.Count 可以取得資料列數目 04/16 20:46
4F:→ qwer820404:>1 就導向修改頁面 導向方式有很多種 04/16 20:46
5F:→ qwer820404:看你的需求 可以用javascript導 也可用Response的 04/16 20:47
6F:→ qwer820404:帶資料也有很多種 Cookie 或Session 或Url Parameter 04/16 20:47
7F:→ qwer820404:記得編碼(中文字) 跟 安全性的問題囉 04/16 20:47
後來修改成下面那樣
不過會出現 Invalid Attempt To Call MetaData When Reader Is Closed
不知道是哪邊有問題??
DataTable dt = new DataTable();
using(IntraDB DB = new IntraDB())
{
using(IDataReader dr =DB.ClientInfoSearch(1, txtSearch.Text))
{
dt.Load(dr);
if (dt.Rows.Count == 1)
{
Response.Redirect("ClientsModify.aspx?CID="+dr["CID"].ToString());
這句出現Invalid attempt to call MetaData when reader is closed.
gdvSearch.DataSource = dt;
gdvSearch.DataBind();
}
else
{
gdvSearch.DataSource = dt;
gdvSearch.DataBind();
}
※ 編輯: KSCIECS 來自: 219.80.253.185 (04/17 12:00)
8F:推 qwer820404:哦 執行順序的問題 04/17 21:07
9F:→ qwer820404:在用Response.Redirect這種導向的時候要注意 04/17 21:07
10F:→ qwer820404:他之後的程式碼都會失效 因為他是"直接轉向" 04/17 21:08
11F:→ qwer820404:那個錯誤是說 你的datareader 的連接被關掉了 04/17 21:08
12F:→ qwer820404:所以dr["CID"]會跑error出來 兇手就是redirect把他斷了 04/17 21:09
13F:→ qwer820404:建議可以改成註冊javascript到前端 導向會比較好 04/17 21:10
14F:→ ssccg:dt.Load(dr)之後就把dr關了啊,你為什麼不從dt讀要從dr讀? 04/18 10:48
15F:→ ssccg:改成dt.Rows[0]["CID"]就可以了吧? 04/18 10:50
16F:→ ssccg:還有都redirect了下面兩行bind沒用了吧 04/18 10:50