2012-01-06 12 views

Odpowiedz

10

Zgadzam się ze wszystkimi, że # powinny być ?, ale po prostu FYI:

Uwaga nie jest to faktycznie możliwe dostać kotwicy off URL, na przykład:

http://test.com/test.aspx#id=test

Problemem jest to, że # określony kotwicę na stronie, więc przeglądarka widzi:

http://test.com/test.aspx

A potem patrzy na stronie

<a id="test">Your anchor</a> 

Ponieważ jest to strona klienta, musisz ucieC# z adresu URL - nie można go pobrać na serwer, ponieważ przeglądarka już go zdejmuje.

Jeśli chcesz część po # musisz skopiować ją przy użyciu Javascript przed wysłaniem żądania na serwer, i wstaw wartość do zapytania.

Więcej informacji tutaj c# get complete URL with "#"

2

Isnt to ma być?

http://test.com/test.aspx?id=test 
6

Twój adres URL jest nieprawidłowy.

http://test.com/test.aspx#id=test 

odnosi się do zakładki nazwie id=test.

Należy użyć

http://test.com/test.aspx?id=test 

A potem Request.QueryString["id"] zadziała.

+0

To połączenie api, więc nie mogę nic zrobić. – PrateekSaluja

+0

Co to jest połączenie API? –

+0

Widzę, że przeszedłeś długą drogę @HenkHolterman. Dzięki reputacji 193K i najlepszej 0,05% lub SO prawdopodobnie wiesz już, co to jest połączenie API haha. – quemeful

8

Ciąg zapytania zaczyna się od znaku zapytania o nazwie ?, a nie hash #.

Spróbuj:

http://test.com/test.aspx?id=test 

Używając skrótu, prosisz, aby przejść do nazwanego kotwicy w dokumencie, nie zapewniając ciąg kwerendy

4

Jeśli chcesz użyć go jako tagu skrótu można użyć:

string value = Request.Url.ToString().Split('#')[1]; 

z tym kodem, będzie mieć swoją wartość hash tag.

+0

Dzięki już naprawiłem. – PrateekSaluja

Powiązane problemy