2010-06-02 5 views
2

안녕하세요, 사용자가 특정 LinkButton을 클릭 할 때 쿼리 문자열을 제거해야합니다. 예를 들어, 쿼리 문자열이 http://UserProfileManager.com?UserID=1234 인 경우 ... 사용자가 링크 버튼을 클릭하면 URL은 http://UserProfileManager.com이됩니다. 문제는 모든 것이 한 페이지에 있고, asp : 패널을 사용하여 웹 페이지의 다른 영역을 보이거나 숨길 수 있다는 것입니다.asp.net의 url에서 쿼리 문자열 제거

모든 아이디어를 얻을 수 있습니다.

답변

4

당신은 몇 가지 옵션이 있습니다 : 쿼리 문자열은 "사용자 ID"키가 포함 된 경우 단지 짧은 주소로하는 LinkButton의 URL을 설정 한 뒤에 코드에서

1) :

if (Request.QueryString["UserID"] != null) { 
    this.LinkButton.PostBackUrl = "http://UserProfileManager.com"; 
} else { 
    // other address 
} 

2)를 보내기 쿼리 문자열 대신 숨겨진 필드의 UserID.

3)보기를 분리하고 페이지를 편집하십시오. 모든 것을 하나의 * .aspx에 넣으면 길 아래에있는 것보다 더 많은 문제가 발생할 것입니다.

+0

숨겨진 필드에 UserID를 보내려고하지만 사용자가 DataNavigateUrlFields 값을 UserID로 설정하고 DataNavigateUrlFormatString을 쿼리 문자열로 설정하여 gridview (편집은 하이퍼 링크)에서 편집 할 레코드를 선택합니다. GridView의 숨겨진 필드에 UserID 설정을 처리하려면 어떻게해야합니까? – user279521

+0

'GridView' 컨트롤에서 자신의 힘을 풀어 내기가 꽤 어렵습니다. 보통 1 파운드에 1 센트입니다. 이 경우이므로 옵션 1 또는 3을 사용하는 것이 좋습니다. –

+0

옵션 1이 작동했습니다. 그러나 LinkButton의 속성 창에 URL을 설정해야합니다. 매우 감사합니다. – user279521

0

요청 개체를 살펴보십시오. 정확한 속성을 기억할 수는 없지만 줄 구성표 ("http : //"를 반환합니다)가 있습니다. 하나 또는 둘 이상의 조합이 있습니다. 당신은 필요합니다.

추가 연구 - Request.Url 속성을 살펴보십시오. 그런 다음 쿼리 문자열을 제거합니다. uri/uricomponent 클래스에서 정확한 방법을 볼 수 없어서 정확히 무엇을 찾고 있는지는 알 수 없지만 그렇게 어렵지는 않습니다.

0

페이지로드시 쿼리 문자열을 숨겨진 텍스트 상자에 추출 할 수 있습니다.

사용자가 버튼은 사용자가 이동했을 경우에 멀리 텍스트 상자를

을 취소 텍스트 상자에 문자열을 사용하여 URL에 쿼리 문자열을 추가 클릭

.

나는 이것이 당신이 실제로 URL에서 쿼리 문자열을 제거하지 못할 SP

1

도움이되기를 바랍니다. 나는 거기에 사용할 수있는 .remove() 메서드가 없다는 것을 의미한다. 여전히 그렇게하려면 .substring() 메서드를 사용하고 수동으로 처리해야합니다.

도움이 될만한 팁 : QueryString 값을 사용하여 동일한 페이지에서 다른 상태를 유지하는 경우 해당 값을 페이지의 ViewState에 유지하고 적절하게 변경하도록 제안합니다. . 이렇게하면 URL이 깨끗하게 유지되고 사용자는 흐름을 손상시킬 수 없으며 정상적으로 작동합니다.

주의하십시오!

+0

이것은 dag gumm 좋은 생각입니다. – user279521

관련 문제