gpt4 book ai didi

javascript - 当我单击按钮 asp.net (angularjs) 时如何重新加载 ng-repeat

转载 作者:太空宇宙 更新时间:2023-11-04 15:55:26 24 4
gpt4 key购买 nike

如何将数据代码传递给 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>

                                          &nbsp;<asp:Button ID="btnSearch" runat="server" class="btn btn-primary" OnClick="btnSearch_Click1" Text="Search Student" Width="170px" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:Button ID="btnClearTxt" runat="server" class="btn btn-primary" Text=" Clear Text" Width="170px" />


</div>

页面加载工作正常 enter image description here

按钮点击结果 enter image description here

最佳答案

终于解决了我的问题:)

 $scope.myData.doClick = function () {

$http.post('abc.aspx/GetEmployees', { response: {} })
.then(function successCallback(response) {
$scope.studentinformation = {};

$scope.studentattendance = JSON.parse(response.data.d);

})
.error(function (response, status, headers, config) {
$scope.status = status;
});

}

//HTML

 <div ng-click="myData.doClick()">Click here</div>

//c#

 [WebMethod]
public static string GetEmployees()
{

string Query "Select * from tblstudent WHERE student_name = 'Adeel'";
var getstudentattendance = DbAccess.GetResult(Query);
studentattendancejson = JsonConvert.SerializeObject(getstudentattendance, Formatting.Indented);
return studentattendancejson;
}

带参数的 Ajax 调用

  $scope.myData.doClick = function (item,event) {                             
var startdate = document.getElementById('txtstart').value;
var enddate = document.getElementById('txtend').value;
$.ajax({
type: "POST",
url: "studentattendance.aspx/GetEmployees",
data: JSON.stringify({ title: startdate, songname: enddate}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$scope.studentattendance = {};
$scope.studentattendance = JSON.parse(msg.d);
$scope.$apply();

},
error: function (msg) {
alert(msg.d);
}
});
}

ASP.NET C#//

public static string GetEmployees(string title, string songname)
{
}

关于javascript - 当我单击按钮 asp.net (angularjs) 时如何重新加载 ng-repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42747396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com