2016-03-19 10 views
0

以下のCSHTMLファイルでは、3つのJavaScript関数が機能していません。私は見つけた3つの方法を試しましたが、どれも正しく動作しません。MVCビュー内のJS関数を呼び出す

おそらくページロードのタイミングが間違っている可能性があります。 cshtmlファイルのc#でデータベースにアクセスしました。取得したすべてのデータをjsファイルの配列に追加して、Angularjs Smart-Tableアドオンに適用できるようにしたいのです。スマートテーブルのサンプルをデータベースから取り出すことができなかったので、ASP.net、Angular.js、MVC6の制限された理解でそれを手に入れようとしていました。 JS。

CSHTMLファイル

<body ng-controller="paginationCtrl"> 
Number of Results: @num_results <br> @error_message <br> @results[1].title 

@foreach (Event row in results) 
{ 
    <script type="text/javascript"> 
     jk(); 
    </script> 

    @Html.Raw("push('" + @row.event_id + "', " + "'" + @row.title + "', " + "'" + @row.datetime + "', " + "'" + @row.place + "', " + "'" + @row.address + "', " + "'" + @row.send_calendar_invites + "', " + "'" + @row.full_description + "', " + "'" + @row.description + "', " + "'" + @row.is_expired + "', " + "'" + @row.rsvp_limit + "', " + "'" + @row.rsvp_cutoff + "');"); 

    <text>push(@row.event_id, @row.title, @row.datetime, @row.place, @row.address, @row.send_calendar_invites, @row.full_description, @row.description, @row.is_expired, @row.rsvp_limit, @row.rsvp_cutoff);</text> 
} 

Javascriptをあなたがそこに定義されているだけなので、コントローラ内で動作します

angular.module('myApp', ['smart-table']) 
.controller('paginationCtrl', ['$scope', function (scope) { 

    scope.itemsByPage = 10; 

    scope.rowCollection = []; 
    function jk() { 
     alert("TEST"); 
    } 
    function createEvent(eid, ttl, dt, plc, addr, sci, 
        fdesc, desc, ie, rl, rc) 
    { 
     var event_id = eid, title = ttl, datetime = dt, place = plc, address = addr, send_calendar_invites = sci, full_description = fdesc, description = plc, is_expired = ie, rsvp_limit = rl, rsvp_cutoff = rc; 

     return { 
      event_id: event_id, 
      title: title, 
      datetime: datetime, 
      place: place, 
      address: address, 
      send_calendar_invites: send_calendar_invites, 
      full_description: full_description, 
      description: description, 
      is_expired: is_expired, 
      rsvp_limit: rsvp_limit, 
      rsvp_cutoff: rsvp_cutoff 
     }; 
    } 

    function push(eid, ttl, dt, plc, addr, sci, 
        fdesc, desc, ie, rl, rc) { 
     jk(); 
     scope.rowCollection.push(
      createEvent(eid, ttl, dt, plc, addr, sci, 
        fdesc, desc, ie, rl, rc)); 
    } 

答えて

0

あなたの関数のJKファイル。

+0

ありがとうございました!時には、ちょうど長い間、物事を見て、とても明白なものを逃していることがあります。 – Suitch

+0

これも回答としてマークしてください。ありがとう! –

関連する問題