他のユーザーからの質問1 、質問2のとおりですが、適切な回答が得られなかったので、ここで質問しました。
ASP.NET MVC を使用しており、ソーシャル ログイン プロバイダーを部分ビューで読み込もうとしています。
しかし、私はそれが私にエラーを与えることはできません。
これは、部分ビューを返すコードです。
public async Task<PartialViewResult> GetProviders()
{
string apiUrl = "mywebsite";
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(apiUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync("Account/externalloginpathhere");
//var result = Task.Run(async () => { await client.GetAsync("Account/externalloginpathhere"); }).Result;
if (response.IsSuccessStatusCode)
{
var data = await response.Content.ReadAsStringAsync();
var providers = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ViewModel>>(data);
foreach(var provider in providers)
{
if (provider.Name == "Google")
{
//code come here
}
else if (provider.Name == "Facebook")
{
//code come here
}
else if (provider.Name == "Microsoft")
{
//code come here
}
}
return PartialView("~/Views/Account/_ExternalLoginsListPartial.cshtml", providers);
}
return null;
}
}
ホーム コントローラー ビューからの呼び出しを表示します。
@{Html.RenderAction("GetProviders", "Account");}
これは私がやったことです。私が間違っているところはどこでも修正してください!