开发者

ASP.NET MVC - how to replace %20 with dash? [duplicate]

This question already has answers here: Closed 10 years ago.

Possible Duplicate:

How does StackOverflow generate its SEO-friendly URLs?

I made a simple form that contains the NAME and some other fields.

When user submits form, the following route will be called:

~/Profile/NAME

If user entered John Smith as NAME, my URL will be:

~/Profile/John%Smith

And I want it to be:

~/Profile/John-Smith

The application will display user details and again the same form at the top of the page.

NAME value will be passed to the form via ViewData.

I want to populate text box with John Smith, not John-Smith.

How can I do that? I 开发者_如何学编程ran out of ideas.

Thanks in advance!

EDIT:

I have found solution here: http://goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/.

It needs a little modification, but basically this is it.


HttpUtility, look into UrlDecode / UrlEncode

Edit

Use jQuery. Pseudo:

<input type="text" value="name" />
<input type="submit" id="submit" />

The jQuery

$('submit').click(function() {
 $('name').val($('name').val().replace(' ', '-'));
});

It can look something like that, and when you want to display it, you just replace - with space, but remember, there are names that contain - and should not be replaced.


If it helps any, I used this from Jeff Atwood as well as the link you garnered above to make it happen.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜