이 질문을하기 전에 필자는 쿼리 문자열을 사용하고 있는지 확실하지 않습니다. 다른 혼란스러운 StackOverFlow 연구의 결과입니다). SSRS 보고서 뷰어에서 하이퍼 링크 표현식을 통해 내 앱으로 전달하는 매개 변수입니다. 그것은 작동하고 모든 것을 제외하면 웅대 한 것입니다. 나중에 URL에서 삭제하고 싶습니다.페이지로드 C에서 사용 후 내 쿼리 문자열을 지우고 싶습니다 #
http://10.155.54.101/Update?CurrencyId=67
그리고 페이지로드시이 논리를 가진 매개 변수를 얻고 있습니다.
if (Request.Params["CurrencyId"] != null)
int CurrencyId = int.parse(Request.Params["CurrencyId"]);
나는 성공적으로 정보를 수집하고 그것으로 asp.net 컨트롤을 채우는하지만 난 그게 업데이트를 제출 한 후 남아 지금처럼 주소 표시 줄에서을 지울하고 (포스트 백을?).
다른 스택 오버플로 답변 : Clear QueryString on PostBack을 통해 다음 코드를 통해 쿼리 문자열을 지우려고 시도했습니다.
Request.Params.Clear();
하지만 컬렉션은 위의 스택 오버플로 질문에서 다루는 읽기 전용 오류입니다. 그래서 System.Reflection을 사용하여 다음 코드로 컬렉션의 읽기 전용 속성을 변경하려고합니다.
PropertyInfo Isreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
Isreadonly.SetValue(Request.Params, false, null);
Request.Params.Clear();
나는 오류가 발생하지 않지만 아무것도 제거하지 않습니다, 그래서 때문에 도대체 일을 Request.Params 그러나의 제대로 쿼리 문자열을 참조하지 않을 수 있습니다.
누군가 내게 올바른 방향으로 나를 밀어 주실 수 있습니까? 나는 이것에 관해서 우둔한 미안하다.
querystring이 용납되지 않는 특별한 이유가 있습니까? 유효한 이유가 많이 있습니다. 그냥 호기심이 많으므로 여기서도 답변을 이끌어 낼 수 있습니다. – secretwep
저는 완전히 솔직하게 말하면서, 제가 진정으로 이해하지 못하는 오류를 해결하려고 노력하고 있습니다. 내 데이터베이스의 레코드를 업데이트하는 업데이트 페이지가있는 응용 프로그램이 있는데 레코드를 검색하고 업데이트합니다. SSRS 보고서에는 각 레코드에 하이퍼 링크가있어서 업데이트 페이지로 이동하여 레코드의 데이터로 필드와 드롭 다운을 채 웁니다. 그러나 데이터는 정확성과 관련하여 완전히 끌어 올려집니다 (특히 많은 관계가 많은 관계). 업데이트도 게시하지 않습니다.나는 querystring이 그들의 문제와 관련이있는 다른 게시물을 읽었습니다. – David
실례합니다. "불완전하게 뽑았습니다."라는 뜻입니까? 때로는 쿼리 문자열이 한 앱에서 다른 앱으로 데이터를 가져 오는 유일한 방법이며, 이것은 GET 작업입니다. 문제는 다른 곳에 있다고 생각합니다. 두 앱 모두 또는 둘 중 하나만 제어 할 수 있습니까? 귀하의 질문에 대한 자세한 내용은 귀하에게 답을 줄 수 있습니다. – secretwep