作者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