我怎样才能将查询字符串传递给aspx

时间:2012-09-24 14:02:25

标签: c# asp.net query-string

我有这样的网址:DossierSoin_Fiche.aspx?SoinId=1

我如何将这个SoinId传递给dx:ASPxPopupControl

<dx:ASPxPopupControl ID="ASPxPopupControl_Surveill"
ContentUrl="~/PopUp/Surveillance.aspx?SoinId=<%=SoinId %>"

提前感谢你

PS:我不能使用代码behinde,因为它会重新加载页面,然后我将丢失未保存在数据库中的数据。我使用回调代替,所以我需要在aspx上传递这个查询字符串值而不是在aspx.cs

5 个答案:

答案 0 :(得分:1)

制作一个属性“SoinID”(如果你还没有)

protected string SoinId  {get;set;}

(修饰符的类型取决于OP,也可以是public)。

然后,为page_load中的属性指定一个值:

SoinId = Request.QueryString["SoinID"];

如果您像这样使用它,您的.aspx代码可以保持不变。

答案 1 :(得分:1)

在你的容器中代码隐藏:

protected string SoinId
{
   get
   {
      return Request["SoinId"];
   }
}

并使用您拥有的代码。

答案 2 :(得分:0)

只需将值传递给页面CodeBehind中的公共属性即可。

ASPxPopupControl_Surveill.ContentUrl = ...

[感谢rs编辑]

答案 3 :(得分:0)

选项A:

1)在aspx页面的范围内声明一个名为SoinId的受保护变量。

2)在Page_Load事件中,添加:

if(!Request.QueryString["SoinId"]==null)
{
   SoinId = Request.QueryString["SoinId"];
}

操作B:

用以下代码替换您的aspx代码:

<dx:ASPxPopupControl ID="ASPxPopupControl_Surveill" 
ContentUrl="~/PopUp/Surveillance.aspx?SoinId=<%=Request.QueryString["SoinId"] %>">

编辑:考虑使用其他同事提议的属性。它更加优雅。

答案 4 :(得分:0)

我想你可以在后面的代码中分配值。

e.g;

ASPxPopupControl_Surveill.ContentUrl = "~/PopUp/Surveillance.aspx?SoinId=" + Request["SoinId"].ToString();