2012-03-16 2 views
1

ASP.NET 양식을 제출 한 후 어떻게 자바 스크립트를 실행합니까?asp.net 양식 제출 후 자바 스크립트 코드 실행

예를 들어 제출 버튼을 클릭 한 후 페이지 제출을 클릭하면 페이지에 숨겨진 DIV를 표시하고 싶습니다.

+0

OnClientClick은 필요한 작업을 수행하지 않습니까? – Gobbledigook

+1

WebForms 또는 MVC를 사용하고 있습니까? 포스트 백을 통해 또는 JavaScript를 사용하여 양식을 제출 하시겠습니까? –

+1

runat = "server"옵션과 함께 제출 버튼이있어서 양식이 서버 측에 전송됩니다. onclientclick은 제출하기 전에 실행됩니다. –

답변

1

:이 방법에서 당신은 자리의 공개 대상 속성을 설정할 수 있습니다. aspx에서 div에 id와 runat = "server"를 지정합니다. 그런 다음 서버 측에서 표시 스타일 속성을 'block'으로 설정하십시오. 당신은 단지 한 후 스크립트를 방출하려면

divTest.Style["display"] = "block"; 

: 아래에 주어진 예를 들어, 사업부 당신은 그것의 스타일을 설정할 수 있습니다 제출 버튼의 포스트 이벤트 다음

<div id="divTest" runat="server" style="display:none;"> 
     This is a div test 
</div> 

로 정의 말 ScriptManager를 사용하여 게시 할 수 있습니다.

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ScriptRegisterTest", "alert('Testing');", true); 
+0

너무 많은 코드를 사용하지 않으려면 .... – Aristos

1

아마도 귀하의 질문을 이해하지 못 하겠지만, 서버로 돌아가서 일부 처리를하고 있다면 왜 자바 스크립트가 필요합니까? 문제의 div에 runat = "server"를 추가하고 처리 후에 표시되도록하십시오. 뒤에

<div id="YourDiv" runat="server" Visible="false" > 
    ...Whatever is here 
</div> 

코드 :

는 전체 포스트 백을 사용하고 있기 때문에
protected void Button_Click(object sender, EventArgs e) 
{ 
    /* 
    Your Logic Here 
    */ 
    YourDiv.Visible = true; 
} 
2

, 당신은 쉽게 코드 숨김에서 자바 스크립트를 포함 할 수 있습니다.

장소는 내가 당신의 OnClick 처리 방법에 가정 자리 표시 자

<asp:Placeholder ID="javascriptPlaceholder" runat="server" Visible="false"> 
<%-- Your Javascript here --> 
</asp:Placeholder> 

내부에 자바 스크립트 코드는 폼의 값을 받고 그것으로 다른 일을 할 수 있습니다. 서버 측에서 수행 할 수 있습니다 다음 볼 하나에 숨겨진 DIV를 변환 할 만 할 경우

this.javascriptPlaceholder.Visible = true; 
+0

이것은 구체적인 예제 사례 대신 묻는 일반적인 질문을 해결하는 유일한 대답입니다. – lathomas64

관련 문제