在asp.net 4.0中的锚标记中的URL路由?

时间:2011-05-28 20:11:16

标签: asp.net html url-rewriting anchor asp.net-4.0

我正在使用listview,在项目模板的listview中,我有href的锚标记。

<a class="linkbutton" href='<%# string.Format("Movie/Hindi-Movie/{0}/{1}",Eval("MovieId"),Eval("MovieName")) %>'><%#Eval("MovieName")%></a>

并在全局文件中

我有

routes.MapPageRoute("HindiAboutMovie", "Movie/Hindi-Movie/{MovieId}/{MovieName}", "~/Bollywood/AboutMovie.aspx");

这很好用。 但是在MovieName中,我在单词之间留有空格,通过在空白处放置'%'来使网址变得丑陋。

喜欢

http://localhost:5703/Movie/Hindi-Movie/43/Kucch%20Luv%20Jaisaa

我正在尝试制作

http://localhost:5703/Movie/Hindi-Movie/43/Kucch-Luv-Jaisaa

如何在string.Format中处理这个html端?

请指导我。

2 个答案:

答案 0 :(得分:0)

您是否尝试过如下简单调整:

<a class="linkbutton" href='<%# String.Format("Movie/Hindi-Movie/{0}/{1}",
Eval("MovieId"), Eval("MovieName").Replace(' ', '-'))
%>'><%# Eval("MovieName") %></a>

答案 1 :(得分:0)

我试过这种方法。

在Html中我写了

<a class="linkbutton" href='<%# string.Format("Movie/Bollywood-Movie/{0}/{1}",Eval("MovieId"),GetMovieName(Eval("MovieName"))) %>'>

在代码背后我写了一个方法。

public string GetMovieName(object obj)
    {
        string moviename = Convert.ToString(obj);
        string newmoviename= moviename.Replace(" ", "-");
        return newmoviename;
    }

这确实解决了我的问题。 : - )