我有这样的网址:DossierSoin_Fiche.aspx?SoinId=1
我如何将这个SoinId传递给dx:ASPxPopupControl
<dx:ASPxPopupControl ID="ASPxPopupControl_Surveill"
?
ContentUrl="~/PopUp/Surveillance.aspx?SoinId=<%=SoinId %>"
提前感谢你
PS:我不能使用代码behinde,因为它会重新加载页面,然后我将丢失未保存在数据库中的数据。我使用回调代替,所以我需要在aspx上传递这个查询字符串值而不是在aspx.cs
中答案 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();