zoukankan      html  css  js  c++  java
  • CSS Friendly ASP.NET 2.0 Control Adapters (Beta 2.0)在处理URL时的一个Bug

    利用CSS Friendly ASP.NET 2.0 Control Adapters (Beta 2.0)开发时

    例如在登陆控件,指定了CreateUserUrl="~/Secure/NewUserReg.aspx"和PasswordRecoveryUrl="~/Secure/PasswordRecovery.aspx"
    1 <asp:Login ID="Login1" runat="server" CreateUserText="新用户注册" CreateUserUrl="~/Secure/NewUserReg.aspx"
    2         Width="232px" OnLoggingIn="Login1_LoggingIn" PasswordRecoveryText="密码忘记" PasswordRecoveryUrl="~/Secure/PasswordRecovery.aspx">
    3     </asp:Login> 

    在运行后解析代码如下请注意红色背景处代码,这里对Url没有转换(绿色部分是我将WriteCreateUserPanel修改后的运行结果),:
     1 <div class="AspNet-Login">
     2     <div class="AspNet-Login-TitlePanel">
     3         <span>登录</span>
     4     </div>
     5     <div class="AspNet-Login-UserPanel">
     6         <label for="ctl00_ContentPlaceHolderMain_Login1_UserName">用户名:</label>
     7         <input type="text" id="ctl00_ContentPlaceHolderMain_Login1_UserName" name="ctl00$ContentPlaceHolderMain$Login1$UserName" value="" /><span id="ctl00_ContentPlaceHolderMain_Login1_UserNameRequired" style="color:Red;visibility:hidden;">*</span>
     8     </div>
     9     <div class="AspNet-Login-PasswordPanel">
    10         <label for="ctl00_ContentPlaceHolderMain_Login1_Password">密码:</label>
    11         <input type="password" id="ctl00_ContentPlaceHolderMain_Login1_Password" name="ctl00$ContentPlaceHolderMain$Login1$Password" value="" /><span id="ctl00_ContentPlaceHolderMain_Login1_PasswordRequired" style="color:Red;visibility:hidden;">*</span>
    12     </div>
    13     <div class="AspNet-Login-RememberMePanel">
    14         <input type="checkbox" id="ctl00_ContentPlaceHolderMain_Login1_RememberMeCheckBox" name="ctl00$ContentPlaceHolderMain$Login1$RememberMeCheckBox" />
    15         <label for="ctl00_ContentPlaceHolderMain_Login1_RememberMeCheckBox">下次记住我。</label>
    16     </div>
    17     <div class="AspNet-Login-SubmitPanel">
    18         <input type="submit" value="登录" id="ctl00_ContentPlaceHolderMain_Login1_LoginButton" name="ctl00$ContentPlaceHolderMain$Login1$LoginButton" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolderMain$Login1$LoginButton&quot;, &quot;&quot;, true, &quot;ctl00$ContentPlaceHolderMain$Login1&quot;, &quot;&quot;, false, false))" />
    19     </div>
    20     <div class="AspNet-Login-CreateUserPanel">
    21         <href="/web/Secure/NewUserReg.aspx" title="Create user">新用户注册</a>
    22     </div>
    23     <div class="AspNet-Login-PasswordRecoveryPanel">
    24         <href="~/Secure/PasswordRecovery.aspx" title="Password recovery">密码忘记</a>
    25     </div>
    26 </div> 
    LoginAdapter.cs进行修改中的WriteCreateUserPanel部分修改代码如下:
     1 private void WriteCreateUserPanel(HtmlTextWriter writer, Login login)
     2        {
     3            if ((login.CreateUserUrl.Length > 0|| (login.CreateUserText.Length > 0))
     4            {
     5                WebControlAdapterExtender.WriteBeginDiv(writer, "AspNet-Login-CreateUserPanel");
     6                WebControlAdapterExtender.WriteImage(writer, login.CreateUserIconUrl, "Create user");
     7                //WebControlAdapterExtender.WriteLink(writer, login.HyperLinkStyle.CssClass, login.CreateUserUrl, "Create user", login.CreateUserText);
     8                WebControlAdapterExtender.WriteLink(writer, login.HyperLinkStyle.CssClass,Page.ResolveUrl(login.CreateUserUrl), "Create user", login.CreateUserText);
     9                WebControlAdapterExtender.WriteEndDiv(writer);
    10            }

    11        }
    其他控件的修改雷同
  • 相关阅读:
    js引用类型赋值不改变原对象值
    VS2017启动实例调试(谷歌浏览器)闪退问题
    ext6时间控件(带时分秒)
    extjs列表中文件上传与下载(带有重命名操作)
    c# word(1) 向标签处添加文字
    关于页面加载后执行使用afterrender
    ExtJS,grid多选框列
    vue起手式
    Javascript诞生与历史
    markdown语法说明
  • 原文地址:https://www.cnblogs.com/ywolf123/p/525121.html
Copyright © 2011-2022 走看看