怎么獲取選中的信息


<asp:GridView ID="GridViewResource" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                                DataSourceID="SqlDataResourceID" BackColor="#FFCCFF" Height="80px" PageSize="5"
                                Width="681px">
                                <Columns>
                                    <asp:TemplateField HeaderText="資源名稱" SortExpression="資源名">
                                        <ItemTemplate>
                                            <asp:HyperLink ID="HyperLink1" runat="server" CssClass="noUnderLine" NavigateUrl="~/ResourceDetail.aspx"
                                                Text='<%# Eval("資源名") %>' Visible="True"></asp:HyperLink>
                                        </ItemTemplate>
                                        <ItemStyle Height="60px" HorizontalAlign="Left" Width="350px" Wrap="True" />
                                    </asp:TemplateField>
                                    <asp:BoundField DataField="資源分" HeaderText="資源分" SortExpression="資源分">
                                        <ControlStyle BorderWidth="60px" />
                                    </asp:BoundField>
                                    <asp:BoundField DataField="關注度" HeaderText="關注度" SortExpression="關注度" />
                                    <asp:BoundField DataField="發帖人" HeaderText="發帖人" SortExpression="發帖人">
                                        <ControlStyle Width="80px" />
                                    </asp:BoundField>
                                    <asp:BoundField DataField="更新時間" HeaderText="更新時間" SortExpression="更新時間">
                                        <ControlStyle Width="150px" />
                                    </asp:BoundField>
                                </Columns>
                            </asp:GridView>




如圖:當選中圖中的 "C++ 開發工具.exe" 時,怎么獲取它的字段信息???
這些信息都是來自后台數據庫的.
謝謝啦

22 个解决方案

#1


你代碼里是這樣的不:<a href="ddd.aspx?pid=<%# Eval("pid")%>">C++ 開發工具.exe</a>

這樣可以把PID參數傳到你想要得到的地方,然后通過PID。
select * from table where pid = 傳過來的參數    就可以得到選中行的所有字估信息了

#2


你把你的HyperLink換成
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Eval("名稱") %>" CommandName="type">LinkButton</asp:LinkButton>  
指定CommandArgument="<%# Eval("名稱") % 數據庫綁定的動態字段
指定CommandName="type" 類型
然后后台激發一個RowCommand方法。就可以了

#3



protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
           e.Row.Cells[i].Attributes.Add("onclick", "row_click('" + e.Row.Cells[0].Text + "')");
        
    }


在頁面寫一個JS function row_click(value) 將value給隱藏控件。  

#4


一般我遇到這種情況,
都不是用HyperLink
而是用LinkButton
在LinkButton的Click事件中:

LinkButton btn=sender as LinkButton;
GridViewRow row=btn.Parent.Parent as GridViewRow ;

string str1=row.Cells[1].Text;
string str2=row.Cells[2].Text;
string str3=row.Cells[3].Text;
string str4=row.Cells[4].Text;
//ps:代碼手打

#5


引用 2 樓 boqian_shi 的回復:
你把你的HyperLink換成
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Eval("名稱") %>" CommandName="type">LinkButton</asp:LinkButton>  
指定CommandArgument="<%# Eval("名稱") % 數據庫綁定的動態字段
指……

up

#6


引用 2 樓 boqian_shi 的回復:
你把你的HyperLink換成
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Eval("名稱") %>" CommandName="type">LinkButton</asp:LinkButton>  
指定CommandArgument="<%# Eval("名稱") % 數據庫綁定的動態字段
指……


不行,我要顯示數據信息呢。。。
我是菜鳥來的,
希望詳細點....

#7


忘啦.......
超鏈
 <ItemTemplate>
                                            <asp:HyperLink ID="HyperLink1" runat="server" CssClass="noUnderLine" NavigateUrl="~/ResourceDetail.aspx"
                                                Text='<%# Eval("資源名") %>' Visible="True"></asp:HyperLink>
                                        </ItemTemplate>

要跳轉到其他頁面的

#8


引用 7 樓 ekisstherain 的回復:
忘啦.......
超鏈
HTML code
 <ItemTemplate>
                                            <asp:HyperLink ID="HyperLink1" runat="server" CssClass="noUnderLine" NavigateUrl="~/ResourceDetail.aspx"
        ……


在linkbutton的click事件中利用 response.redict()進行頁面跳轉

#9


前台   <asp:LinkButton runat="server" ID="lbClick" Text="修改" CommandName="upd" CommandArgument='<%# Eval("id")%>'></asp:LinkButton>  
后台
protected void GridViewResource_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName =="upd")
        {
            int id = e.CommandArgument;
            Response.Redirect("index.aspx?pid="+id);
        }
    }

#10


暈啊.....
在GridView 加不了 OnLinkButton的事件啊...
手工加入出錯....
vs 怎么弄可以自動生成啊.....
錯誤碼:
錯誤 7 “OnLinkButtonClick”方法沒有采用“0”個參數的重載 E:\My Documents\Visual Studio 2008\WebSites\resourceManagement\Default.aspx 1 1 E:\...\resourceManagement\

錯誤 8 “ASP.default_aspx”不包含“GridViewResource_SelectedIndexChanged”的定義,並且找不到可接受類型為“ASP.default_aspx”的第一個參數的擴展方法“GridViewResource_SelectedIndexChanged”(是否缺少 using 指令或程序集引用?) E:\My Documents\Visual Studio 2008\WebSites\resourceManagement\Default.aspx 1 1 E:\...\resourceManagement\

#11


引用 10 樓 ekisstherain 的回復:
暈啊.....
在GridView 加不了 OnLinkButton的事件啊...
手工加入出錯....
vs 怎么弄可以自動生成啊.....錯誤碼:
錯誤 7 “OnLinkButtonClick”方法沒有采用“0”個參數的重載 E:\My Documents\Visual Studio 2008\WebSites\resourceManagement\Default.aspx 1 1……


OH,,NO..
不是為GridView加OnLinkButton事件
而是為linkbutton添加onclick事件

加法和普通linkbutton添加onclick事件一樣

#12


綁定一個主鍵

#13


引用 11 樓 q107770540 的回復:
引用 10 樓 ekisstherain 的回復:

暈啊.....
在GridView 加不了 OnLinkButton的事件啊...
手工加入出錯....
vs 怎么弄可以自動生成啊.....錯誤碼:
錯誤 7 “OnLinkButtonClick”方法沒有采用“0”個參數的重載 E:\My Documents\Visual Studio 2008\WebSites\resourc……


事件是有啦。。。。
在這個事件里 獲取 點擊的GridView 中的數據呢,然后再跳轉...
關鍵是 的到數據 啊......
還沒有搞好....
誰來救我啊

#14


在linkbutton 的onclick事件中添加此代碼:

LinkButton btn=sender as LinkButton;
GridViewRow row=btn.Parent.Parent as GridViewRow ;

string str1=row.Cells[1].Text;
string str2=row.Cells[2].Text;
string str3=row.Cells[3].Text;
string str4=row.Cells[4].Text;

得不到數據嗎?

#15


我要的是 點擊 的那個數據 啊......

#16


你這個點擊的時候不是跳到其他頁面去的嘛,在url后加個id之類的,到時在跳轉后的頁面再根據這個參數來讀取信息就行啦

#17


收藏.........

#18


引用 16 樓 myhope88 的回復:
你這個點擊的時候不是跳到其他頁面去的嘛,在url后加個id之類的,到時在跳轉后的頁面再根據這個參數來讀取信息就行啦


可以給個實例嗎????
謝謝啦......

#19



LinkButton btn=sender as LinkButton;
GridViewRow row=btn.Parent.Parent as GridViewRow ;
string str0=row.Cells[0].Text;//這個不就是你點擊的“資源名稱” 嘛!
string str1=row.Cells[1].Text;
string str2=row.Cells[2].Text;
string str3=row.Cells[3].Text;
string str4=row.Cells[4].Text;

#20


暈死 
這個本身就是個基礎 
給你個GridView72般絕技 慢慢學習
把你郵箱給我

#21


引用 20 樓 boqian_shi 的回復:
暈死 
這個本身就是個基礎 
給你個GridView72般絕技 慢慢學習
把你郵箱給我


ekisstherain@163.com 或 772603981@qq.com
謝謝啦~~~~~~~~~~~~~~

#22


終於弄好啦~~~~~~~
先謝謝各位。。。。。


前台代碼:
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" CommandName='link'
      CommandArgument='<%# Eval("資源ID") %>' Text='<%# Eval("資源名") %>'></asp:LinkButton>


后台代碼:
                if ( e.CommandName == "link" )
                {
                        Response.Write( e.CommandArgument.ToString());
                }

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com