难道真的是不错,attr("href")提供的链接命令在IE7相比,处理得非常不同于其他的浏览器?
假设我在http://example.com/page.html上有一个页面,我有这个HTML:
<a href="#someAnchor" class="lnkTest">Link text</a>
Run Code Online (Sandbox Code Playgroud)
这个jQuery:
var strHref = $(".lnkTest").attr("href");
Run Code Online (Sandbox Code Playgroud)
然后在IE7中strHref变量的值将是,"http://example.com/page.htm#someAnchor"但在其他浏览器中它将是"#someAnchor".
我相信最后提到的案例是最正确的案例,所以它只是IE7是一个坏男孩的案例,还是jQuery中的一个错误?
我有两个共享会员提供商的网站.其中一个是ASP Playground站点,另一个是安装了ASP Playground站点集成包的站点.我们称他们为ASPPG网站和SIP网站.
我在SIP站点上运行Membership.GetAllUsers()时有时会出错.SIP拒绝此方法,因此它不是标准的ASP.NET版本.
它有时只会发生.我注意到只有在其中一个成员发生某种变化时才会发生这种情况.然后它必须重新创建在调用Membership.GetAllUsers()时存储所有用户的哈希表,这就像这种娱乐在某种程度上出错了.
除了我粘贴在"administratoren"下面的例外,登录的用户名已经改变了一些信息.
通过更新web.config强制网站卸载没有帮助.它无助于重新启动IIS或完全重新启动服务器.异常出现后,每次调用Membership.GetAllUsers()时都会一直显示.突然之间,异常消失,并且再次可以登录并运行Membership.GetAllUsers(),没有任何异常.它几乎看起来像错误在数据库中,并且修复错误的方法是加载ASPPG站点的任何页面.然后错误在SIP站点上得到修复.
导致异常的原因是什么?如何阻止它?
完整的例外是这样的:
'/'应用程序中的服务器错误.
项目已添加.密钥字典:'administratoren'密钥被添加:'administratoren'描述:在执行当前Web请求期间发生了未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.异常详细信息:System.ArgumentException:已添加项.键入字典:'administratoren'键添加:'administratoren'
来源错误:
Linje 116:MembershipUserCollection allUsers;
Linje 117:lock(objLock){
Linje 118:allUsers = Membership.GetAllUsers();
Linje 119:}
Linje 120:源文件:[WebsiteLocation]\App_Code\MemberInfo.cs行:118
堆栈跟踪:(请注意,此堆栈跟踪中的MemberInfo.cs的行号可能有点偏.
[ArgumentException:Item已被添加.键入字典:'administratoren'键被添加:'administratoren']
System.Collections.Hashtable.Insert(Object key,Object nvalue,Boolean add)+7484392
System.Collections.Hashtable.Add(Object key,Object value)+11
System.Web.Security.MembershipUserCollection.Add(MembershipUser用户)+129
H:\ My Document\Visual Studio 2008\Projects\forumu\MembershipProviders\ASPPGSqlMembershipProvider.vb中的ASPPG.MembershipProviders.ASPPGSqlMembershipProvider.CreateMembershipUserCollectionFromDataView(DataView dv):656 ASPPG.MembershipProviders.ASPPGSqlMembershipProvider.GetAllUsers(Int32 pageIndex,Int32 pageSize,Int32&totalRecords)在H:\ My Document\Visual Studio 2008\Projects\forumu\MembershipProviders\ASPPGSqlMembershipProvider.vb:360 System.Web.Security.Membership.GetAllUsers(Int32 pageIndex,Int32 pageSize,Int32&totalRecords)+65 System.Web.Security.Membership .GetAllUsers()+ 26在D:\ Faelles\SVN-exports\DFF-umbraco\App_Code\MemberInfo.cs中的MemberInfo.GetAllMembers():d:\ Faelles\SVN-exports\DFF-umbraco中的71 usercontrols_GetMemberTopList.LoadTopMembers() \用户控件\ GetMemberTopList.ascx.cs:16中的usercontrols_GetMemberTopList.Page_Load(Object sender,EventArgs e)在d:\ Faelles\SVN-exports\DFF-umbraco\usercontrols\GetMemberTopList.ascx.cs:11 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,对象t,EventArgs e)+14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+35 System.Web.UI.Control.OnLoad(EventArgs e)+99 System.Web.UI.Control.LoadRecursive ()+50 System.Web.UI.Control.LoadRecursive()+ 141 System.Web.UI.Control.LoadRecursive()+ 141 System.Web.UI.Control.LoadRecursive()+ …
我在SQL Server数据库的记录中有一个包含以下内容的字段:
salsaaften
对于那些感兴趣的人来说,这意味着丹麦语的"salsa晚会":)
当我这样做时,我无法找到记录:
SELECT*FROM table_name WHERE field_name LIKE'%salsa%'
但是,当我这样做时,我发现记录非常好:
SELECT*FROM table_name WHERE field_name LIKE'%sals%'
"aften"和"ften"也会发生同样的事情.搜索"aften"时没有结果,但搜索"ften"时是完美匹配.
看起来它是混淆数据库的"aa"..但为什么呢?以及如何解决?
提前致谢 :)
我遇到一些问题,让我的网站在会话结束时(用户关闭浏览器)自动注销经过身份验证的用户.
这是我在web.config中的内容:
<authentication mode="Forms">
<forms name="AuthCookie" protection="All" loginUrl="~/default.aspx" path="/" cookieless="UseCookies" timeout="2592000"/>
</authentication>
<authorization>
<allow users="?" />
</authorization>
<membership defaultProvider="ASPPGSqlMembershipProvider" userIsOnlineTimeWindow="20">
<providers>
<clear />
<add name="AspNetSqlMemberShipProvider" applicationName="umbraco4" type="System.Web.Security.SqlMembershipProvider" connectionStringName="UmbracoDb" requiresUniqueEmail="true" enablePasswordReset="true" enablePasswordRetrieval="false"/>
<add name="UsersMembershipProvider" applicationName="umbraco4" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" />
<add name="ASPPGSqlMembershipProvider" applicationName="umbraco4"
passwordStrengthRegularExpression="" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
forumUpfileFolderPath="D:\www\files"
type="ASPPG.MembershipProviders.ASPPGSqlMembershipProvider, ASPPGSiteIntegrationPackage"/>
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
这是我登录用户的方式:
if (Membership.ValidateUser(txtUserName.Text, txtPasssword.Text)) {
HttpCookie cookie = FormsAuthentication.GetAuthCookie(txtUserName.Text, false);
cookie.Expires = DateTime.Now.AddDays(1);
cookie.Domain = ConfigurationManager.AppSettings["Level2DomainName"];
HttpContext.Current.Response.Cookies.Add(cookie);
Response.Redirect(Request.Url.ToString());
}
Run Code Online (Sandbox Code Playgroud)
当我关闭浏览器时,用户仍然登录.如何通过选项让网站忘记用户,以便用户自己决定网站是否应该记住?
提前致谢 :)
中号
我正在创建一个网上商店,并且必须计算向客户收取多少费用以确保取消费用.支付系统增加了费用,我希望客户支付费用.
费用为2.45%和1.10欧元.
这意味着如果客户购买100欧元,并且我向支付系统报告该价值,我们将只获得€96.45.(100 - (2.45 + 1.1)).
这是不好的.
如何计算发送到付款系统的正确价值,以便我们获得100欧元?这不仅仅是说100欧元+ 2.45%+ 1.1欧元= 103.55欧元并向支付系统报告.因为那时支付系统会说
€103.55 - ((103.55的2.45%)+ 1.1)
€103.55 - (2,536975 + 1.1)
€103.55 - 3,636975
€99,913025
那显然是不正确的.
那么如何计算发送给支付系统的内容以获得所需的价值呢?
我到目前为止,它是以下等式:
X - (X*0.0245) - 1.10 = Y
这里,X是发送给支付系统的理想金额,Y是客户购买的金额(100),因此:
X - (X*0.0245) - 1.10 = 100
但是我如何解决这个问题来找出X是什么?
提前致谢