我见过的所有使用 ResolveUrl 的示例都有一个文字路径,如下所示:
window.location='<%= ResolveUrl("~/Account/Login.aspx") %>'
但是,我已经从 Infragistics WebDataMenu 的菜单上下文中解析了我希望重定向到的 URL,并且我正在尝试将该变量传递到 ResolveUrl。我正在使用的功能在这里:
function menuMain_ItemSelected(sender, e) {
var menuContext = e._context.adr;
var intPartOfMenuContext = parseInt(menuContext);
if (menuContext !== intPartOfMenuContext.toString()) {
var selectedURL = e._props[2]._element.childNodes[0].href;
window.location = '<%= ResolveUrl(' + selectedURL + ') %>';
}
}
问题是我在 ResolveUrl 行上收到“字符文字中的字符太多”错误。
selectedURL 的示例如下:
"http://localhost:52168/ITRequest/Person.aspx?MenuTitle=Users"
仅供参考:最终,我要做的是使 WebDataMenu 工作,以便用户单击它以打开菜单,然后再次单击以选择并重定向到所选页面。但是,显然,如果 ActivateOnHover="False" (我需要),则该控件仅响应向下箭头并在打开菜单后按 Enter 键。所以,如果我遗漏了一些更明显的东西,我会全神贯注。
谢谢,丹