以下のようにMemberserviceを使用してすべてのメンバーをフェッチしようとしています
public GetAllmembers()
{
int totalRecords;
var Members = ApplicationContext.Current.Services.MemberService.GetAll(0, int.MaxValue, out totalRecords);
foreach (var member in Members)
{
//
}
return ;
}
メンバーを保存し、Angular js呼び出しに戻ってそれらをng-tableに表示するための最良の方法は何でしょうか?これについて何か考えはありますか?
よろしく、
Umbracoを使用しているため、UmbracoWebApiを使用してください。
データを返すコントローラーメソッドを作成します。最も単純な形式では、すべてのメンバーを返したい場合は、次のようにすることができます。
using System.Collections.Generic;
using System.Web.Http;
using Umbraco.Core.Models;
using Umbraco.Web.WebApi;
namespace NameOfYourUmbracoWebsiteProject.Controllers.ApiControllers
{
public class MyMemberController : UmbracoApiController
{
[HttpGet]
public IEnumerable<IMember> GetAllmembers()
{
var memberService = ApplicationContext.Services.MemberService;
return memberService.GetAllMembers();
}
}
}
このメソッドのエンドポイントURLは次のようになります。
http://www.mywebsite.com/umbraco/api/MyMember/GetAllMembers
上記のメソッドを作成し、ブラウザーでURLをテストします(結果はJSONではなくxmlとして表示されます)。
これにより、すべてのメンバーが(Angularから呼び出された場合はJSONとして)返されますが、これはおそらく希望どおりではないため、実際に必要な各メンバーのプロパティを含むモデルを作成して、そのコレクションを返す必要があります。
例えば:
public class MyCustomMember
{
public string Name { get; set; }
public string Email { get; set; }
}
次に、コントローラーメソッドを変更して、のコレクションを返しますMyCustomMember
。エンドポイントがangularから呼び出された場合も、WebAPIはコレクションをJSONとして返す必要があります
[HttpGet]
public List<MyCustomMember> GetAllmembers()
{
var memberService = ApplicationContext.Services.MemberService;
var listMyCustomMember = new List<MyCustomMember>();
foreach (var member in memberService.GetAllMembers())
{
var myCustomMember = new MyCustomMember
{
Name = member.Name,
Email = member.Email
};
listMyCustomMember.Add(myCustomMember);
}
return listMyCustomMember;
}
質問は?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加