如何创建一个模态弹出登录时,用户没有经过身份验证
How to create a modal popup to login when the user is not authenticated?
我有这样一个显示数据表的视图:
@if(Request.IsAuthenticated){
<fieldset id="detailPrix">
<legend>Details prix</legend>
<div class="scrollableContainer">
<div class="scrollingArea">
<table class="cruises scrollable">
<thead>
<tr>
<th>
Carburant
</th>
<th>
Prix
</th>
<th>
Date d'ajout
</th>
<th>
Mettre à jour
</th>
</tr>
</thead>
@for(int index =0; index<Model.carburants.Count;index++){
<tbody>
<tr>
<td>
@Html.DisplayName(Model.carburants[index].data.ToString())
</td>
<td>
@Html.DisplayName(Model.prixCarburants[index].ToString())
</td>
<td>
@Html.DisplayName(Model.dateAjoutCarburants[index].ToString())
</td>
<td>
@Html.ActionLink("Modifier", "ModifierPrix", new {carbuId = Model.carburants[index].id, stationId= Model.station.id, Myvmsd=Model, index=index, prix=Model.prixCarburants[index]})
</td>
</tr>
</tbody>
}
</table>
</div>
</div>
</fieldset>
}
else{
// If the user didn't authenticated, I want to display the popup modal to login (in JQuery or JS).
}
我想我的登录视图到模态弹出。这是我的登录视图:
<section id="loginForm">
<h2>Connexion avec un compte local.</h2>
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Formulaire de connexion.</legend>
<ol>
<li>
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</li>
<li>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</li>
<li>
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
</li>
</ol>
<input id="LogIn" type="submit" value="Log in" />
</fieldset>
<p>
@Html.ActionLink("Register", "Register") Si vous n'avez pas de compte.
</p>
}
</section>
<section class="social" id="socialLoginForm">
<h2>Connexion via Les réseaux sociaux</h2>
@Html.Action("ExternalLoginsList", new { ReturnUrl = ViewBag.ReturnUrl })
</section>
这是可能的显示这个视图到一个模式弹出在JQuery中,例如?谢谢你的帮助!
您可以尝试如下观点:
<div id="login">
<section id="loginForm">
<h2>Connexion avec un compte local.</h2>
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Formulaire de connexion.</legend>
<ol>
<li>
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</li>
<li>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</li>
<li>
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
</li>
</ol>
<input id="LogIn" type="submit" value="Log in" />
</fieldset>
<p>
@Html.ActionLink("Register", "Register") Si vous n'avez pas de compte.
</p>
}
</section>
</div>
<input type="button" id="loginbtn" />
<script>
var $login= $('#login').dialog({
autoOpen: false,
title: '',
modal: true,
width: 50,
height: 50
});
// you need to write button click event to open it
$('#loginbtn').click(function(){
$login.dialog('open');
});
</script>
询问是否有问题
我找到了解决方案:
在else语句中,我将最后一个<td>
更改为:
<td>
<p>
@Html.ActionLink("Se logger", "Login", "Account", null, new { @class = "openDialog", data_dialog_id = "loginDialog", data_dialog_title = "Log in"})
</p>
</td>
在我的_Layout中添加<script>
:
<script type="text/javascript">
$.ajaxSetup({ cache: false });
$(document).ready(function () {
$(".openDialog").live("click", function (e) {
e.preventDefault();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this)
.attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
close: function () { $(this).remove(); },
modal: true,
height: 250,
width: 400,
left: 0
})
.load(this.href);
});
$(".close").live("click", function (e) {
e.preventDefault();
$(this).closest(".dialog").dialog("close");
});
});
</script>
它现在工作得很好。谢谢你的回答。
相关文章:
- 需要提取当前登录用户的用户名以在字段中输入
- 如何获取登录用户的twitter oAuth令牌
- 如何向登录用户隐藏选择加入脚本
- 如何使用javascript确定登录用户的浏览器版本和IP地址
- 获取登录用户的电子邮件(Firebase安全规则)
- Facebook js-sdk可以't检索已登录用户的名称
- Sencha Touch 2-登录用户状态
- 在 SharePoint 中获取登录用户的用户名并立即使用它
- jQuery / bubbling - 如何为非登录用户停止我的 JavaScript 代码
- 如何在 Meteor 的服务器上创建用户帐户后自动登录用户
- 使用javascript基于登录用户重定向URL链接
- FB的替代内容,例如非登录用户的框
- 插座.IO - 同一登录用户在两个不同浏览器中使用 socket.id
- 骨干.js如何跟踪登录用户状态和有关应用程序结构的一般建议
- 执行流星重置时,登录用户的应用程序页面冻结
- 像Yelp和urbandictionary这样的网站如何防止非登录用户的双重投票
- 主干.js具有用于创建用户和登录用户的验证的模型
- 网站似乎在没有向服务器发送密码的情况下登录用户;这是怎么回事
- Express js会话——仅为登录用户创建
- 如何使用phonegap+quickblox注册/登录用户