我有一个自定义UserControl(继承System.Web.UI.UserControl),该属性应该设置为您要链接到的网站上的URL:
[DefaultValue("~/NewsItem.aspx"), UrlProperty("*.aspx")]
public string InternalItemViewUrl
{
get { return _internalItemViewUrl; }
set { _internalItemViewUrl = value; }
}
控件将正确显示URL选择器下拉列表,但如果从列表中选择一个URL,则不会将其更改为与站点相关的“〜/ foo.aspx”链接,如HyperLink所做的那样,而是只得到“foo.aspx”不起作用(控件在/ controls中,页面显然不是)。如果您完全向下滚动并使用“选择URL ...”打开完整的弹出窗口,则在该对话框中选择的页面将转换为“〜/ foo.aspx”
我是否遗漏了一些显而易见的东西来使这项工作?
答案 0 :(得分:0)
查看HyperLink上的属性,尤其是[Editor]
属性。
[DefaultValue(""),
WebSysDescription("HyperLink_NavigateUrl"),
UrlProperty, Bindable(true), WebCategory("Navigation"),
Editor("System.Web.UI.Design.UrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
答案 1 :(得分:0)
控件的位置无关紧要,url是相对于控件放置的页面 因此,如果控件放在页面“foo.aspx”上并且它引用了一个页面“foo2.aspx”(与“foo.aspx”在同一目录中),那么只需在控件的url中输入“foo2.aspx”财产将有效。