我正在使用默认模板ASP.NET MVC 5项目使用Identity。我已经成功地将Google OAuth链接到了我的应用程序,并且可以登录,但是我正在尝试修改navbar
以替换链接中的ling从/Account/Login
替换log,以直接从第一个主页中的navbar
登录Google。/p>
我当前的_loginpartial.cshtml
ul class="nav navbar-nav navbar-right">
@* <li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>*@
<li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
</ul>
我该怎么做?
预先感谢。
创建一个称为_externallogin.cshtml的新的部分视图。在_loginpartial.cshtml中,只需评论您上面在此问题中写的代码,然后将部分视图调用,
<ul class="nav navbar-nav navbar-right">
@Html.Partial("_ExternalLogIn",new ExternalLoginListViewModel())
</ul>
看到您可能会在此处出现ExternalloginListViewModel()的错误。因此,您需要像这样的页面顶部添加参考,
@using MyProject.Web.Models
然后在您的_externallogin部分视图中写下
@model MyProject.Web.Models.ExternalLoginListViewModel
@using Microsoft.Owin.Security
@{
var loginProviders =
Context.GetOwinContext().Authentication.GetExternalAuthenticationTypes();
if (loginProviders.Count() != 0)
{
using (Html.BeginForm("ExternalLogin", "Account", new { ReturnUrl =
Model.ReturnUrl }))
{
@Html.AntiForgeryToken()
foreach (AuthenticationDescription provider in loginProviders)
{
if (provider.AuthenticationType == "Facebook")
{
<li>
<div class="form-group">
<button type="submit" class="btn btn-block btn-social
btn-gplus" name="provider"
id="@provider.AuthenticationType"
value="@provider.AuthenticationType"
style="width:100%;text-align:left;border-
radius:0px;color:white">
</button>
</div>
</li>
}
}
根据您的要求更改CSS。欢呼。