2013-10-14 2 views
0

Plz проверьте иерархию ниже страницы на моем приложении asp.net mvc. 'Доступ к функции JQuery вне объявленного файла

BookingDetailsForScheduler.aspx

**HTML** 

     <table style="width: 100%;"> 
        <tr> 
         <td style="vertical-align: top; width: 480px;"> 
          <div id="service-selection"> 
           <% Html.RenderPartial("MainServices", Model); %> 
          </div> 
          <div id="available-dates"> 
           <% Html.RenderPartial("Dates", Model); %> 
          </div> 
         </td> 

        </tr> 
       </table> 

    **JS** 
    $(document).ready(function() { 

     var multiDatesPickerBinding = function() { 

    //code goes here 
    }); 

    }); 

Теперь мое требование это, я могу получить доступ к функции 'multiDatesPickerBinding' жгуты на яваскрипт код страницы 'Dates.ascx'?

Dates.ascx

**HTML** 

**js** 
<script type="text/javascript"> 

    $(document).ready(function() { 

     How to access 'multiDatesPickerBinding' ? 

}); 

</script> 
+1

Вы можете создавать глобальные функции в Javascript, но у вас все равно будет условие гонки - вы не знаете, какие из функций ready() будут выполнены в первую очередь. – sphair

ответ

0

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

Также неясно, имеет ли смысл доступ к этой функции, даже если это было возможно. Есть Dates.ascx, предназначенные для повторного использования? Тогда почему у него есть скрытая зависимость? Это не должно быть? Тогда почему бы вам не поместить этот код в свою информацию о бронировании?

+0

Можете ли вы рассказать мне, как решить эту проблему? – Sampath

+0

@ Sampath: структурируя код лучше. Я обновил ответ, чтобы упомянуть, что этот способ упорядочивания не выглядит нормально. В общем, такие скрытые зависимости - это просто плохая инженерия и вызовут проблемы. Я не могу быть конкретным, потому что информации недостаточно. – Jon

+0

Plz см. Эту тему также. Http: //stackoverflow.com/questions/19356149/page-reload-issue? Noredirect = 1 # comment28681017_19356149 – Sampath

Смежные вопросы