UpdatePanel에서 Response.Write가 작동하고 명백한 이유로 앱이 오류를 일으키지 않는 방법이 있습니까? 또는 C#에서 두 줄 이상의 코드없이 비슷한 결과를 얻을 수있는 방법이 있습니까?코드가 Update Panel에서 실행될 때 Response.Write와 같은 동작이 발생합니다.
는답변
당신은 사용하여 동일한 효과를 당신의 업데이트 패널 내부에 리터럴 컨트롤을 넣어 수 :
myLiteral.Text += "Some more text!";
유일한 방법 (느슨하게 유사)와 유사한 동작을 취득하는 업데이트 패널 내에서 레이블을 넣어 그 그 부분 포스트 백에서 업데이트되고, 그 값을 무언가로 설정합니다 (한 줄만 설정하면됩니다). 나머지 페이지는 단순히 업데이트되지 않으므로 할 수있는 일은 없습니다.
어쨌든이 기능을 원하십니까?
Response.Write
은 UpdatePanels에서 작동하지 않지만 스펜서가 언급했듯이 리터럴에 정보를 넣을 수 있습니다.
다른 옵션은 디버깅하는 경우 System.Diagnostics.Debug.Assert()
기능을 사용하는 것입니다. 이것의 장점은
-
당신이 오류가 이제까지 발생하지 않습니다 장소에 이들을 배치 할 수 있지만 수 있도록 나타납니다
- 그들이 릴리스에서 컴파일됩니다 코드에서 이러한 넣어 수
- , 디버깅 할 때만 알면 알 수 있습니다.
- 코드가 Assert 행에서 작동을 일시 중지하므로 해당 Assert를 넣는 위치를 정확히 알 수 있습니다.
아무렇지도 않게 지나치지 않고 모든 곳에 두지 만 매우 유용한 디버깅 도구 인 것으로 나타났습니다.
그냥 다른 사람에게 도움이 될 수있는 것으로 나타났습니다.
업데이트 패널에는 Response.Write 또는 Response.Redirect를 사용할 수 없습니다.
이 문제를 해결하려면 트리거를 사용해야합니다. 이것은 업데이트 패널
<asp:UpdatePanel ID="UpdatePanel9" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnExcel" />
</Triggers>
<ContentTemplate>
---Your code here
</ContentTemplate>
내부에서 서버 여행을하는 데 사용됩니다 여기에 컨트롤의 controlid 버튼이나 다른 컨트롤입니다. 예를 들어 버튼 클릭 이벤트에서 응답에 텍스트를 쓸 수 있습니다.
내가 사용하는이 문제에 대한 간단한 해결책은 Response.Write()를 호출하여 installed JQuery 함수 html()을 호출하는 것입니다. 예를 들어 UpdatePanel에서 일부 html 텍스트를 업데이트하고 싶습니다. 다음과 같이 할 것입니다 :
Response.Write()는 다음과 같이 간단합니다. Response.Write ("[TextToBeAddedToHTML]");
하지만 조금 복잡 jQuery로
, 당신이 JQuery와 HTML 페이지에 라이브러리를 포함 할 필요가 :ScriptManager.RegisterStartupScript(this, GetType(), "TextUpdate", "$(\"#[ID_OF_HTML_Element]\").html(\"<p>" + [TextToBeAddedToHTML] + "</p>\");", true);
http://stackoverflow.com/questions/3872844/how-to-write-response-write-within-update-panel/16384971#16384971에서이 게시물을 삭제 한 이유는 무엇입니까? 좋아 보인다.나는 그 글의 형식을 정한다. – nhahtdh
hahaha, 내 첫 번째 게시물 및 인스턴트 메신저에 올바른 장소를 찾고 ... :)))) –
쓰레기는, 나는 그것을 의심. 그게 내가 전에하고 있었던 일이야 .- ( – craigmoliver