variablejにどのようにデータコードを渡しますか?ページが読み込まれたときに正常に動作します。しかし、ボタンをクリックすると、フィルターデータが表示されます。サーバー側はデータをロードしません。ボタンをクリックしたときにng-repeatをリロードする方法asp.net(angularjs)
$ scope.studentinformation = <% = studentattendancejson%>
C#コード:
public static string studentattendancejson = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string Query = "SELECT ts.Idx, ts.student_name,ts.father_name,t.attendancedate,t2.class_name,tat.attendanceType FROM tblstudentattendence t " +
"INNER JOIN tblStudent ts ON ts.student_id = t.student_id INNER JOIN tblclassinfo t2 ON t.class_id = t2.idx " +
"INNER JOIN tblAttendanceType tat ON t.attendancetype_Id = tat.Idx";
var getstudentattendance = DbAccess.GetResult(Query);
studentattendancejson = JsonConvert.SerializeObject(getstudentattendance, Formatting.Indented);
}
}
protected void btnSearch_Click1(object sender, EventArgs e)
{
string Query = "Select * from tblstudent WHERE student_name = 'Adeel'";
var getstudentattendance = DbAccess.GetResult(Query);
studentattendancejson = JsonConvert.SerializeObject(getstudentattendance, Formatting.Indented);
}
HTML \ JavaScriptの\ AngularJSコード:
//Angularjs variable
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('myCtrl', ['$scope', '$filter', function ($scope, $filter) {
$scope.currentPage = 0;
$scope.pageSize = 100;
$scope.data = [];
$scope.q = '';
$scope.studentinformation = <%= studentattendancejson %>
$scope.getData = function() {
return $filter('filter')($scope.studentinformation, $scope.q)
}
$scope.numberOfPages = function() {
return Math.ceil($scope.getData().length/$scope.pageSize);
}
}]);
app.filter('startFrom', function() {
return function (input, start) {
start = +start; //parse to int
return input.slice(start);
}
});
</script>
<tr ng-repeat="info in studentinformation| filter:q | startFrom:currentPage*pageSize | limitTo:pageSize">
<td>{{info.student_name}}</td>
<td>{{info.father_name}}</td>
<td>{{info.class_name}}</td>
<td>{{info.attendancedate | date:'dd-MM-yyyy'}}</td>
<td ng-if="info.attendanceType == 'Present'"> <button type="button" class="btn btn-success btn-circle"><i class="fa fa-check"></i></td>
<td ng-if="info.attendanceType == 'Absent'"> <button type="button" class="btn btn-danger btn-circle"><i class="fa fa-times"></i></td>
<td ng-if="info.attendanceType == 'Leave'"> <button type="button" class="btn btn-warning btn-circle"><i class="fa fa-list"></i></td>
</tr>
<asp:Button ID="btnSearch" runat="server" class="btn btn-primary" OnClick="btnSearch_Click1" Text="Search Student" Width="170px" />
<asp:Button ID="btnClearTxt" runat="server" class="btn btn-primary" Text=" Clear Text" Width="170px" />
</div>
あなたPage_OnLoadイベントを追加する気に、またはあなたが初めて 'studentattendancejson'を設定するたびか? –
私は私の質問を編集しますPage_Loadイベントを使用しています –
ありがとうございました。私は以下の答えを出しました。 –