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));
}
ありがとうございました!時には、ちょうど長い間、物事を見て、とても明白なものを逃していることがあります。 – Suitch
これも回答としてマークしてください。ありがとう! –