2009-08-21 3 views
15

누구나 javascript 액션 결과가 있습니까? 일단 스크립트가 반환되면 실행하는 데 어려움을 겪고 있습니다. 고마워요ASP.NET MVC Javascript ActionResult

+0

당신이 조금 정교한 수 : 컨트롤러에서

<script> $(document).ready(function() { $("button").click(function() { $.getScript("/Home/ShowAlert"); }); }); </script> <button>Use Ajax to get and then run a JavaScript</button> 

? – Jimmeh

+0

물론 액션에서 다음을 반환한다고 가정 해 봅시다. 자바 스크립트 ("alert ('Hello World');"); 경고 대화 상자 대신 "경고 ('Hello World')"가 표시된 페이지가 표시됩니다. –

답변

16

여기 컨트롤러가 제대로 작동하려면보기에 대한 심층적 인 지식이 있어야하기 때문에 실제로는 반 패턴으로 설명하는 blog post에서 찾은 예제가 있습니다.

public ActionResult DoSomething() { 
    string s = "$('#some-div').html('Updated!');"; 
    return JavaScript(s); 
} 
+0

완벽한, 감사합니다. –

+1

NP, 안녕하세요. – Joseph

+10

미래에이를 보는 사람들을 위해 추가하고 싶었습니다. 그것은 나에게 javascript 결과는 ajax를 통해 액션이 호출 될 때만 실행되는 것으로 보입니다. Html.Actionlink를 통해이 액션을 호출하면 스크립트 텍스트가 반환되지만 실행되지는 않습니다. –

2

내가 클라이언트에서 JavascriptResult을 반환하고 실행하는 발견하는 유일한 방법은 JQuery와 함께 :

public JavaScriptResult ShowAlert() { 
     var script = "alert('Hello');"; 
     return new JavaScriptResult() { Script = script }; 
} 
관련 문제