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をクリックしてメニューを開き、もう一度クリックして選択して選択したページにリダイレクトするようにWebDataMenuを機能させることです。ただし、ActivateOnHover = "False"(これが必要です)の場合、メニューが開いたら、コントロールは下向きの矢印とEnterキーの押しにのみ応答するようです。ですから、もっと明白な何かが欠けているのなら、私はすべての耳です。
ありがとう、ダン