2015-05-27 1 views
4

Я создал частичное представление ASP.NET MVC, и я зову его с помощью метода HTML.Action хелперов:Вызов JavaScript из внутри ASP.NET MVC частичным видом

@Html.Action("GetMyPartialView", "MyController", new { myParameter}) 

Частичный вид содержит элемент управления который нуждается в некотором JavaScript для вызова (библиотека JavaScript во внешнем файле JavaScript). Как я могу назвать этот код JavaScript из моего частичного представления.

Я попытался с помощью элемента сценария в частичном виде:

<script> 
    MyJavaScriptFunction(); 
</script> 

Это не сработало. Вероятно, внешние файлы JavaScript (например, jQuery) в это время не были загружены.

Каков рекомендуемый способ выполнения кода JavaScript при частичном представлении?

+1

вызов Код JavaScript в главном окне, где частичный вид является оказание – Sachu

+1

Помещенный в в главном окне и завернуть его в 'document.ready' –

ответ

3

У меня была почти схожая ситуация. Что я сделал, был добавлен javascript в главном представлении. Вы пытаетесь добавить javascript в основной вид, из которого вы звоните

@Html.Action("GetMyPartialView", "MyController", new { myParameter}) 
+0

Вы меня не тратите на это больше времени. Спасибо! – Levimatt

3

Вы не можете использовать разделы сценария java в частичных представлениях. Они просто не работают. Поэтому сохраните JavaScript-код @section в главном окне, чтобы зарегистрировать скрипты, а затем отобразить частичный вид

1

Вы можете использовать вызов ajax для достижения этого.

$(document).ready(

    //Do ajax call 
     $.ajax({ 
     type: 'GET', 
     url: "controller action url",  
     data : {       
        //Data need to pass as parameter      
       },   
     dataType: 'html', //dataType - html 
     success:function(result) 
     { 
      //Create a Div around the Partial View and fill the result 
      $('#partialViewContainerDiv').html(result);     
     } 

// Действие

 public ActionResult GetMyPartialView(int myParameter)  
     {  
     //return partial view instead of View 
      return PartialView("YourView", resultSet); 
     } 
0

Я просто столкнулся с этой проблемой. Вы можете вызвать функцию javascript в частичном представлении из частичного представления. Я создал скрытое поле и определил событие onclick, чтобы вызвать функцию, которую мне нужно вызвать, чтобы инициализировать диалог в частичном представлении. Затем я вызвал событие click для этого скрытого поля.

Код в частичном:

<input type="hidden" id="initializeDialog" onclick="initializeDialog();" /> 

<script> 
    function initializeDialog(){ 
     // Do stuff 
    } 
</script> 

код в сдерживании вид:

<script> 
    $('#InitializeDialog').trigger('click'); 
</script>