ورود

View Full Version : نمایش لیست اطلاعات توسط angularjs



helpsos
یک شنبه 21 دی 1393, 18:50 عصر
سلام
من یه اکشن ایجاد کردم که در ان لیست اطلاعات را از بانک می گیرم با کد زیر:

public virtual async Task<ActionResult> ListTerm()
{
Mapper.CreateMap<Term, ListTermViewModel>();

var term =await _terms.GetAllTerms();

IList<ListTermViewModel> termvm = Mapper.Map<IList<Term>,IList<ListTermViewModel>>(term);
var result = JsonConvert.SerializeObject(termvm, Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
});

return PartialView(Views._ListTerm, result);

}

و یه پارشیال ویو هم درست کردم که داخل اون هم کد زیر را نوشتم:


<div ng-app="Myapp">
<table ng-controller="termctrl" class="table table-bordered">
<tr>
<th>#</th>
<th>نام دوره</th>
</tr>
<tr ng-repeat="term in terms">
<td>{{term.TermId}}</td>
<td>{{term.TermName}}</td>
</tr>
</table>
</div>

و یه فایل اسکریپت هم درست کردم که کدهای آن از قرار زیر است:

/// <reference path="../angular.min.js" />

var app = angular.module('Myapp', []);

app.controller('termctrl', function ($scope, $html) {
$http.get('/Term/ListTerm').success(function (data) {
$scope.terms = data;
});
});

و در فایل _Layout هم از کد زیر برای فراخوانی این اکشن استفاده کرده ام:


<li>@Html.ActionLink("دوره", MVC.Term.ActionNames.ListTerm, MVC.Term.Name)</li>

ولی متاسفانه خروجی من درست نیست.
میشه راهنمایی کنید که چطوری می تونم با angularjs کار کنم ؟

itsurge
دوشنبه 29 دی 1393, 22:48 عصر
دوست عزیز کلا اشتباه کردید در پیاده سازی مراحلی که میگم رو اجرا کن حل میشه 1- خروجی متد ListTerm() را فقط یک parialview کن نه کده دیگه و کد های مربوط به angular رو داخل parial view قرار بده 2- متدی بنویس برای فراخونی اطلاعات مورد نیاز از پایگاه داده که خروجی ان json باشد 3- در متد get کنترل angular خودت ادرس مربوط به متد نوشته شده در مورد 2 رو قرار بده
نکته: توجه داشته باش اگه بعد از موارد گفته شده در بالا باز هم خطا داشتی شما باید lazyloding در angular رو مطالعه کن و مطالب گفته شده در بالا اضافه کن