0

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.

asked Feb 18, 2010 at 8:05
0

2 Answers 2

1

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.

answered Feb 18, 2010 at 8:10
Sign up to request clarification or add additional context in comments.

6 Comments

UrlEncode will not replace %20 with dash or the other way round with UrlDecode.
Correct. And I mentioned that I need it for ASP.NET MVC, not classic web forms.
Ah I miss read, i thought that he wanted to encode the url and the decode it to get "John Smith" out of "John%Smith".
@OP, you can still use HttpUtility even if it's not Web Forms.
Can I solve the problem by using Route class? This solution will not work if the user switched off java script.
|
0

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

answered Feb 18, 2010 at 14:51

1 Comment

Thank you! Very quality answer.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.