我创建了一个从查询字符串加载数据的页面。并使用URL创建指向另一个页面的链接,如下所示。
http://localhost:61279/clubpage.aspx?CategoryID=1
当我点击类别1时,如何提取与该查询字符串相关的数据。
我拥有的一些代码但它没有用。
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
Youth clubs</h2>
<p>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"
EnableViewState="False">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<%-- <%--<%-- You can use an anchor element... --%>
<%-- <li><a href='youthclubpage.aspx?CategoryID=<%# Eval("YouthClubID") %>'><%# Eval("youthclubname") %></a> - <%# Eval("description") %></li> --%>
<%-- Or a HyperLink Web control...---%>
<li><asp:HyperLink runat="server" Text='<%# Eval("youthclubname") %>' NavigateUrl='<%# "youthclubpage.aspx?CategoryID=" + Eval("YouthClubID") %>'></asp:HyperLink>
- <%# Eval("Description") %></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:joanton7865org7272_youthpodcastConnectionString %>"
SelectCommand="SELECT [youthclubname], [description], [YouthClubID] FROM [youthclublist]">
</asp:SqlDataSource>
</p>
</asp:Content>
答案 0 :(得分:1)
您可以通过
访问查询字符串int categoryId = 0;
if(int.TryParse(Request.Params["CategoryID"]), out categoryId))
{
// query data with categoryID
}
else
{
// no category id
Response.Redirect("Default.aspx");
}
的更多MSDN信息
答案 1 :(得分:1)
您可以像这样使用,并确保使用参数化查询来避免SQL注入 SqlCommand Class
int categoryId = 0;
if(Request["CategoryID"]!=null)
{
categoryID=Convert.ToInt32(Request["CategoryID"]);
SqlConnection ConnObject = new SqlConnection("ConnString of your SQL Provider");
SqlCommand cmd = new SqlCommand("select some thing from your table where category_ID=@catID",ConnObject);
cmd.Parameters.AddWithValue("@catID", categoryId);
SqlDatareadr dr= cmd.ExecuteReader();
while(dr.read())
{
// use the returned values from DB
}
}
else
{
//category not exist
}
答案 2 :(得分:0)
int CatagoryID = Request["CatagoryID"];
string myQuery = "Select Fields from table where [Filtered column] = " + CatagoryID;
这是你在找什么?