我在asp.net中使用来自sql数据库的信息创建了一个Gridview,现在我想对gridview进行编码,这样我就可以点击一行,将我重定向到另一个aspx页面,在那里我可以使用来自的信息运行查询那一行。
例如,我得到一行包含以下信息:
- Arjen de Vries 123456789 Netherlands
然后我需要在该行之前的详细按钮,如:
- (detail) Arjen de Vries 123456789 Netherlands
当你点击细节时,它会把我带到另一个页面,在那里你可以找到关于我的更多信息。
第一步是创建详细信息按钮,但我搜索了互联网,但无法找到合适的解决方案。
所以我的问题是如何创建这样一个按钮,它与该行中的信息相关联。
谢谢,
首次编辑:
我在gridview中找到了创建按钮的解决方案,现在当我单击此按钮时,我将被重定向到另一个页面。
我在评论页面上找到了解决方案。
现在出现以下问题,如何使用gridview行中的数据在下一页上构建查询。
答案 0 :(得分:0)
以下示例是针对链接按钮,但正常按钮没有区别。 链接按钮在gridview中肯定会更好看
<asp:GridView ID="GridView1" runat="server" CssClass="tblcss1"
AutoGenerateColumns="False" onrowdatabound="GridView1_RowDataBound" OnRowCommand="grdCustomPagging_RowCommand">
<Columns>
<asp:BoundField DataField="DB_COL_1" HeaderText="First Col" />
<asp:BoundField DataField="DB_COL_2" HeaderText="second Col" />
<asp:BoundField DataField="DB_COL_3" HeaderText="Third Col" />
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton runat="server" ID="lnkView" OnClick="lnkView_Click">Click here</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
c#代码是
protected void lnkView_Click(object sender, EventArgs e)
{
GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
string firstColData = grdrow.Cells[0].Text;
string secondColData = grdrow.Cells[1].Text;
string thirdColData = grdrow.Cells[2].Text;
Response.Redirect("page1.aspx?firstColumnValue="+firstColData );
}
或者您可以使用超链接并将行值作为查询字符串发送到下一页。在该页面中,您可以显示详细信息。除非你想在第一页处理数据,否则这是更好的方法。如果在URL中公开数据是个问题,则可以加密查询字符串。
答案 1 :(得分:0)
我做到了!
首先,我想再次感谢Anshu,我使用了部分代码。我做的是:我创建了一个字符串firstColData = grdrow.Cells [0] .Text;
然后在我的另一页上我做了:sqldatasource.selectcommand“SELECT ... From ... WHERE naam ='”+ session。[“Thesessionname”]。tostring()+“'”;
这就是我想要实现的目标。
感谢大家!