C# 路由问题(.NET不是MVC)

C# 路由问题(.NET不是MVC),c#,asp.net,.net,.net-4.0,routing,C#,Asp.net,.net,.net 4.0,Routing,我正在我的.net网站中使用路由 我想要这个网址 http://www.website.com/condos/rent/{state}/{area} 转到http://www.website.com/condos.aspx然后选择州和地区 这很好: routes.MapPageRoute("CondosForRentInArea", "condos/rent/{state}/ {area}", "~/condos.aspx"); 但是我在使用Javascript时遇到了一些问题。因为我不会写:

我正在我的.net网站中使用路由

我想要这个网址

http://www.website.com/condos/rent/{state}/{area}

转到
http://www.website.com/condos.aspx
然后选择州和地区

这很好:

routes.MapPageRoute("CondosForRentInArea", "condos/rent/{state}/
{area}", "~/condos.aspx");
但是我在使用Javascript时遇到了一些问题。因为我不会写:

routes.MapPageRoute("StateAreaJS", "condos/rent/{state}/{area}/scripts/
{filename}.js", "~/scripts/{filename}.js");
我在Stackoverflow上发现了另一个问题:

但是我在这个网站上没有使用MVC。我试过这个:

routes.Add("CondosRentStateAreaJS", new Route("condos/rent/{state}/{area}/scripts/
{filename}.js", new StateAreaJSRouteHandler()));
以及:

我不认为该代码被调用,因为在“stringfilename…”行中放置一个断点永远不会命中

奇怪的是,CSS在那里,服务器在文件夹/文件名之前插入../../../../,但是JS丢失了

那么,如何正确地将/state/area/scripts/file.js设置为
“~/scripts/file.js”

---------------编辑---------------

你肯定让我走对了路。我应该通过代码隐藏添加脚本和样式表。我最终得到了这样一个很好的解决方案:

HtmlGenericControl validatejs = new HtmlGenericControl("script");
validatejs.Attributes.Add("type", "text/javascript");
    validatejs.Attributes.Add("src", ResolveUrl("~/scripts/validate.js"));
    this.Page.Header.Controls.Add(validatejs);


    HtmlLink fontscss = new HtmlLink();
    fontscss.Href = "~/styles/fonts.css";
    fontscss.Attributes.Add("rel", "stylesheet");
    fontscss.Attributes.Add("type", "text/css");
    this.Page.Header.Controls.Add(fontscss);

我只想补充一点(对于其他谷歌用户来说),这种方法使我能够删除我的JS和CSS自定义路由句柄,使整个项目更有条理,可能更快。

你能把脚本引用放在母版页中吗?这样,它将可用,并使它更容易

您也可以将引用放在正在使用的页面上,或者按照Ashok的建议在母版页上使用下面的代码。在前面,使用文字,在后面的代码中执行此操作(显然要更改您的姓名):

litJquery.Text=”“;
祝你好运

HtmlGenericControl validatejs = new HtmlGenericControl("script");
validatejs.Attributes.Add("type", "text/javascript");
    validatejs.Attributes.Add("src", ResolveUrl("~/scripts/validate.js"));
    this.Page.Header.Controls.Add(validatejs);


    HtmlLink fontscss = new HtmlLink();
    fontscss.Href = "~/styles/fonts.css";
    fontscss.Attributes.Add("rel", "stylesheet");
    fontscss.Attributes.Add("type", "text/css");
    this.Page.Header.Controls.Add(fontscss);
litJquery.Text = "<script type=\"text/javascript\" src=\"" + Page.ResolveClientUrl("~/js/jquery-1.6.min.js") + "\"></script>";