[英]How to let my web-user-control determine automatically the url of the page where it's placed
<asp:HyperLink
ID="hyper1"
runat="server"
NavigateUrl='<%#string.Format("~/PLayer.aspx?ID={0}&Type={1}",Eval("arrange_by_id"),Eval("value"))%>'><%# Eval("value")%></asp:HyperLink>
我已经在NavigateUrl中实现了此字符串格式,以根据所单击的项目传递动态查询字符串!
但是您会在字符串格式的第一部分看到“〜/ PLayer.aspx”,我希望用户控件根据其放置位置自动更改它!
您可以尝试Request.ServerVariables [“ SCRIPT_NAME”],它将返回当前页面的名称。
这个怎么样:
NavigateUrl='<%#string.Format("{2}?ID={0}&Type={1}",
Eval("arrange_by_id"),Eval("value"), Page.ResolveUrl("~/Palyer.aspx"))%>'
您无需将用户控件从一个地方移到另一个地方。 您只能从Request.Url
, Request.RawUrl
或Request.ServerVariables["SCRIPT_NAME"]
获取当前页面的名称。
您可以动态注册用户控件以在需要时更改路径。 有关动态注册用户控件的参考, 请参见此
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.