我想在我的页面上有一个输入,我希望默认情况下有一个美国电话号码掩码.如果最终用户点击指定他们想要输入国际电话号码的复选框,我希望删除该掩码.
到目前为止,我已经尝试了多种方法并且没有成功.在当前项目中,我使用jQuery来隐藏/显示完全不同的输入.但我不喜欢这种选择,并希望采用更简化的方法.
我使用以下内容:
jQuery 1.4.1(即将升级到1.4.2)和jQuery.MaskedInput-1.2.2
<script type="text/javascript">
$(document).ready(function($) {
if ($("#InternationalOfficePhone").attr('checked') == false) {
$("#OfficePhone").mask("(999) 999-9999? x99999");
}
});
$("#InternationalOfficePhone").click(function() {
if ($("#InternationalOfficePhone").attr('checked') == true) {
//$("#OfficePhone").mask(); //doesn't work
//$("#OfficePhone").unmask(); //doesn't work
$("#OfficePhone").unmask("(999) 999-9999? x99999"); //doesn't work
} else {
$("#OfficePhone").mask("(999) 999-9999? x99999");
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
上面的代码可以正常设置默认掩码,但无论我尝试使用InternationalOfficePhone的click事件,它都不会删除掩码.
任何帮助深表感谢.
这是背景.我有一个.NET MVC v1.0项目,我试图通过使用Windows身份验证模式来保护它.所以我将web.config设置为:
<authentication mode="Windows" />
Run Code Online (Sandbox Code Playgroud)
然后进入我的控制器并执行以下操作:
[Authorize(Roles="IT")]
public class LicenseController : Controller
Run Code Online (Sandbox Code Playgroud)
在AD中,我们有一个名为"IT"的小组,而我和其他许多小组都是这个小组的一部分.一旦我有了这个,我开始一个调试会话,并试图去控制器中的任何一个动作,我遇到了一个401.我搜索高低寻找某个地方,我搞砸了小狗,找不到任何东西错误.经过一段时间的努力,我决定尝试将"授权"更改为特定用户,看看是否有效.所以我把它改成了以下内容:
[Authorize(Users="domain\\tnederveld")]
Run Code Online (Sandbox Code Playgroud)
而且看起来很有效.所以我去了一个不同的小组,我是其中的一员,并取出了用户授权声明,并且有效.我开始研究两个AD组之间的差异,唯一不同的是第二组我尝试了"组名(pre-Windows 2000):"是相同的."IT"组"组名(pre-Windows 2000):"是"IT Associates".所以我尝试将authorize语句更改为:
[Authorize(Roles="IT Associates")]
Run Code Online (Sandbox Code Playgroud)
它开始工作了.我确信这是一个MVC问题,所以为了确保我在常规的Web Forms项目上尝试它,并遇到了同样的问题.
真正的问题是,当您使用属于System.DirectoryServices.AccountManagement的UserPrincipal时,它会在使用.GetGroups()方法时返回组"IT".
为什么会这样?
asp.net asp.net-mvc webforms active-directory windows-authentication
我试着在Exchange开发论坛上发布这个并没有得到任何回复,所以我会在这里试试.链接到论坛
我有一个Windows服务,每十五分钟触发一次,看看是否有任何需要创建或更新的订阅.我正在使用托管API v1.1对Exchange 2007 SP1.我有一个表存储所有希望监视邮箱的用户.因此,当通知进入"倾听服务"时,我能够查找用户并访问消息以将其记录到我们正在构建的应用程序中.在表中,我有以下列存储订阅信息:
我的服务调用一个函数来查询所需的数据(基于它正在做的功能).如果用户尚未订阅,则该服务将创建一个.我正在使用模拟来访问邮箱.这是我的"ActiveSubscription"方法,当用户需要创建或更新订阅时会触发该方法.
private void ActivateSubscription(User user)
{
if (user.ADGUID.HasValue)
{
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Settings.ActiveDirectoryServerName, Settings.ActiveDirectoryRootContainer);
using (UserPrincipal up = UserPrincipal.FindByIdentity(ctx, IdentityType.Guid, user.ADGUID.Value.ToString()))
{
ewService.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SID, up.Sid.Value);
}
}
else
{
ewService.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, user.EmailAddress);
}
PushSubscription pushSubscription = ewService.SubscribeToPushNotifications(
new FolderId[] { WellKnownFolderName.Inbox, WellKnownFolderName.SentItems },
Settings.ListenerService, 30, user.Watermark,
EventType.NewMail, EventType.Created);
user.Watermark = pushSubscription.Watermark;
user.SubscriptionID = pushSubscription.Id;
user.SubscriptionStatusDateTime = DateTime.Now.ToLocalTime();
_users.Update(user);
} …Run Code Online (Sandbox Code Playgroud)