如果这看起来像是一个简单的任务,请原谅我,我对这个相当陌生…
我想创建逻辑,允许用户显示或不显示他们的电子邮件地址时,从一个对话框编辑它。我将允许用户在对话框内"选择退出"的链接-我试图使用该链接将"if"语句内的变量重置为"假"。"if"语句阻止电子邮件地址被渲染。
下面是我的if语句:<div id="change-email" class="text">
@{
var showEmail = true;
if (showEmail == true)
{
<text><p><span class="label">My email address: </span>@Model.Email</p></text>
}
else (showEmail == false)
{
<text><p>No email displayed</p></text>
}
}
</div><!--#change-email-->
下面是对话框代码:
<div id="dialog-email" class="modal">
@using (Html.BeginForm("ChangeEmail", "Account", FormMethod.Post))
{
<fieldset>
// form code here
</fieldset>
}
<p><a href="" class="no-display">Do not display my email address.</a></p>
</div>
如有任何帮助,我将不胜感激。
谢谢!
如果您使用jQuery这样做,并且您认为电子邮件地址在页面源中仍然可用,则它看起来像这样:
<div id="change-email" class="text">
<p><span class="label">My email address: </span>@Model.Email</p>
</div>
<div id="dialog-email" class="modal">
@using (Html.BeginForm("ChangeEmail", "Account", FormMethod.Post))
{
<fieldset>
// form code here
</fieldset>
}
<p><a href="" class="no-display">Do not display my email address.</a></p>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('a.no-display').click(function(){
$('#change-email p').text('No email displayed.');
});
});
</script>
如果您想保留不显示电子邮件的首选项,则会更复杂一些。您可能希望在ChangeEmail表单中添加"不要显示我的电子邮件地址"作为复选框,调整表单发送的控制器动作以处理首选项,并将其作为变量返回到该动作返回的视图的ViewBag中。