[英]Why is my Aspx page rendering different HTML in FireFox and IE
我遇到過一個問題,我的asp.net代碼在Firefox和IE上呈現的方式不同。 當我說的不同時,我的意思是,IE中的linkButton呈現為錨標簽。 然而,在Firefox上,它呈現為跨度
代碼示例
<ItemTemplate>
<div id="<%#Eval("Id","{0}") %>">
<asp:LinkButton ID="ProductName" runat="server" CommandName="Listing"
CommandArgument='<%# Bind("Id") %>' Text='<%# Bind("Name") %>PostBackUrl=""></asp:LinkButton>
<asp:Label ID="lbl_pricePerUnit" runat="server" Text="" />
</div>
</ItemTemplate>
我不知道這里發生了什么,我以前從未見過這種情況。 我使用的是最新版本的瀏覽器,我有asp.net 3.5和VS2008
更新:好的,這是一個AJAX頁面,gridview位於更新面板內,它響應LinkButton的OnCommand事件。 代碼顯然編譯,它在IE上運行良好。
我在firefox上檢查了Page Source,它和圖像一樣。 關於包含DIV標簽的ID缺乏,有一個很好的觀點。 嵌入式腳本是否會導致FireFox出現問題? 那個id從數字開始怎么樣?
當然這是由自適應渲染引起的,其中ASP.Net發布為瀏覽器量身定制的html?
在您的代碼示例中,asp:LinkButton標記格式不正確 - 缺少“<”。
您的模板看起來還有其他一些問題。
正如克里斯在評論中所說:“可能鏈接沒有href嗎?”
看看在Firefox中生成的html,在包含div上也沒有ID - 而在IE中則有。
請記住,使用Firebug查看Firefox中的源代碼,並實際查看源代碼(右鍵單擊|查看頁面源代碼)是兩回事 - Firebug將顯示源代碼,由瀏覽器解析和處理,添加任何內容JavaScript或瀏覽器引擎已添加/更改 - 使用View Page Source將顯示在發生任何處理之前從服務器返回的實際源 - 該代碼是否正確/相同?
BrowserCaps用於在1.x世界中制作各種控件的正確混亂 - 但是它們已經更新以支持Firefox等與ASP.NET 2.0,因此它們不應該影響這里的事情。
我非常痴迷於承認我已經做出了最缺乏思想的錯誤
Jay S非常正確地指出我應該確保我正在查看正確的代碼實例。 本地版本上的某些鏈接指向Dev Server上的Dev版本。 它不是最新的,並且在將產品名稱轉換為鏈接之前實際上已經運行了舊代碼。
為浪費集體大腦能量而道歉並感謝大家的回復。
根據Microsof的LinkButton“在網頁上顯示超鏈接式按鈕控件。”。 因此,我不希望自適應渲染將其從HyperLink更改為跨度。 我從未見過這種行為。
如果這確實是發生了什么,那么你可能想要檢查幾個thigs:
遺憾的是,您的問題中沒有足夠的信息來自您的代碼和屏幕截圖,以便在此階段給您一個明確的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.