如何传递查询字符串值?

时间:2013-04-10 08:52:57

标签: c# asp.net

在我的网络应用程序中,我们展示了一些我们开发的产品演示,并且已将该产品详细信息存储在数据库中,如

tblProduct{Id,ProductName,ProductDescription}

现在假设用户单击产品A的下载链接,所以在该页面的超链接上我已经通过查询字符串,如Demo下载 所以它会重定向到那个ProductName,而ProductName是A,我在该查询页面上用代码

检索查询字符串值
 string productName = Request.QueryString["ProductName"] as string;
 objInquiry.InquiryFor = productName; 

现在进行下一步每当用户按下提交按钮在该查询时,一个链接应该发送到他的电子邮件ID,该链接用于特定的ProductOnly ....现在在提交按钮的代码我有制作查询字符串  mail.Body += "<a href=\"http://www.abc.co.in/test.aspx?period=" + DateTime.Now + "&ProductName=[]\">Download Demo Software</a>";现在我的问题是我如何通过这个产品名称意味着ProductName是A所以我怎么能通过这个怎么能在test.aspx页面上检索这个.. ???请帮帮我

2 个答案:

答案 0 :(得分:0)

我不太了解这个问题,但在我看来你有3页。

  • 第1页,您有下载产品A的超链接
  • 第2页,其中有一个提交按钮(和一个表格,我想)。在此页面代码中,您有:string productName = Request.QueryString["ProductName"] as string;。因此,您可以在表单中创建隐藏字段并添加ProductName。
  • 第3页,您现在可以使用Request.Form["ProductName"] as string;访问ProductName并将值添加到电子邮件正文中。

正如我在评论中提到的,我建议您使用ID,而不是ProductName。

答案 1 :(得分:0)

您可以像这样传递产品名称:

mail.Body += string.Format("<a href=\"http:\//www.abc.co.in/test.aspx?period={0}&ProductName={1}\">Download Demo Software</a>", DateTime.Now, productName);

正常检索test.aspx

string productName = Request.QueryString["ProductName"] as string;

关于您对文件下载的评论,假设您的产品具有与之关联的文件名字段: -

string productName = Request.QueryString["ProductName"];
Product product = GetProductFromDB(productName);//I don't know what your DB access code looks like

//Build download link in markup:
<asp:HyperLink ID="lnkFileDownload" runat="server" />

//Link code
lnkFile.NavigateUrl = string.Format("/FILE DOWNLOAD LOCATION/{0}/", product.FileName)
lnkFile.Text = "Download Demo Software";