私は、1.1から2.0までのASP.NET Webアプリケーションプロジェクトのクイックポートを行っています。したがって、マスターページの代わりにテンプレートがカスタムコントロールとして作成されました。サイドパネルには、サイトのすべてのページからアクセス可能な検索ボックスがあります。パネルには、1番目と2番目の名前の2つのテキストボックスがあります。JavaScriptでルートへのパスを設定する
検索パラメータをクエリ文字列として送信すると、ユーザーはmysite.com/search/results.aspxに転送されます。
mysite.com**/dir1/dir2**/search/results.aspx
を私はルートからそれを解決する必要があるとJSの場所のオブジェクトが問題であるように見えます:問題は、ユーザーがパスから検索を提出する場所に応じて次のように出てくるかもしれないということです。
ここに元のコードです。ルートから解決するにはどうすればよいですか?このポストから
rightGutter.Controls.Add(new LiteralControl("<script language=javascript>"));
rightGutter.Controls.Add(new LiteralControl
("function doPhoneSearch(txtval,txtVal1) {"));
rightGutter.Controls.Add
(new LiteralControl("location.replace
('search/results.aspx?lnamedpco=' + txtval+'&fname='+txtVal1);"));
rightGutter.Controls.Add(new LiteralControl("txtval=\"\";"));
rightGutter.Controls.Add(new LiteralControl("return false;"));
rightGutter.Controls.Add(new LiteralControl("}"));
rightGutter.Controls.Add(new LiteralControl("</script>"));
HtmlTableCell rightCell8 = new HtmlTableCell();
rightCell8.Attributes.Add("align", "right");
rightCell8.Controls.Add
(new LiteralControl
("<a onClick=\"doPhoneSearch(document.getElementsByName
('lnamedpco')[0].value,
document.getElementsByName('fname')[0].value)\">"));
Image bgImage5 = new Image();
bgImage5.ImageUrl = "~/images/gobtn.gif";
bgImage5.Attributes.Add("runat", "server");
rightCell8.Controls.Add(bgImage5);
rightCell8.Controls.Add(new LiteralControl("</a>"));
<a onClick=\"doPhoneSearch(document.getElementsByName('lnamedpco')[0].value,
document.getElementsByName('fname')[0].value)\">
<img SRC=\"http://mysite/images/gobtn.gif\"
BORDER=\"0\" ALT=\"Submit Form\">
</a>
ありがとう、これはそれでした:location.replace( '/ mysite/search/phoneSearch.aspx?lnamedpco =' + txtval + '&fname = '+ txtVal1); – IrishChieftain
ああ - "/ mysite /"について忘れました:-)うれしいことですよ! – Pointy