CSS Friendly ASP.NET 2.0 Control Adapters (Beta 2.0)在處理URL時的一個Bug

來源:互聯網
上載者:User
利用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         <a href="/web/Secure/NewUserReg.aspx" title="Create user">新使用者註冊</a>
22     </div>
23     <div class="AspNet-Login-PasswordRecoveryPanel">
24         <a 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        }

其他控制項的修改雷同

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.