中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

asp.net的優(yōu)化 服務(wù)器控件背后友好的Html和JS

2019-03-08    來(lái)源:自由飛的Blog

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

假設(shè)你需要從一個(gè)頁(yè)面轉(zhuǎn)向其他頁(yè)面,下面有很多種方式,你是如何選擇的呢?你能清晰的說(shuō)明理由么?

        <%--鏈接的表現(xiàn)形式--%>
        
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx">HyperLink</asp:HyperLink>
        
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Default2.aspx">LinkButton</asp:LinkButton>
        
        
<%--出于美觀的考慮,很多網(wǎng)站都會(huì)用button來(lái)替換掉link--%>
        
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/Default2.aspx" />
        
        
<%--用圖片做鏈接,也有兩種選擇方式--%>
        
<asp:ImageButton ID="ImageButton1" runat="server" PostBackUrl="~/Default2.aspx" ImageUrl="~/upup.gif" />
        
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/Default2.aspx" ImageUrl="~/upup.gif"></asp:HyperLink>      

如果你還有些迷茫,我建議你查看他們生成html之后的源代碼。

        <id="HyperLink1" href="Default2.aspx">HyperLink</a>       
        
<%--HyperLink解析成Html之后對(duì)應(yīng)的就是一個(gè)單純的超鏈接,href指向了要跳轉(zhuǎn)的頁(yè)面 --%>
        
        
<id="LinkButton1" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;LinkButton1&quot;, &quot;&quot;, false, &quot;&quot;, &quot;Default2.aspx&quot;, false, true))">LinkButton</a>
        
<%--LinkButton1雖然也是一個(gè)錨標(biāo)記,但實(shí)際上是利用的JavaScript進(jìn)行的跳轉(zhuǎn)--%>
        
        
<input type="submit" name="Button1" value="Button" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;Button1&quot;, &quot;&quot;, false, &quot;&quot;, &quot;Default2.aspx&quot;, false, false))" id="Button1" />
        
<%--button被解析成type="submit"的input元素,同樣通過(guò)JavaScript進(jìn)行頁(yè)面的跳轉(zhuǎn)--%>
        
        
<input type="image" name="ImageButton1" id="ImageButton1" src="upup.gif" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ImageButton1&quot;, &quot;&quot;, false, &quot;&quot;, &quot;Default2.aspx&quot;, false, false))" style="border-width:0px;" />
        
<%--ImageButton被解析成type="image"的input元素,同樣通過(guò)JavaScript進(jìn)行頁(yè)面的跳轉(zhuǎn)--%>
        
        
<id="HyperLink2" href="Default2.aspx"><img src="upup.gif" style="border-width:0px;" /></a>
        
<%--給HyperLink的ImageUrl屬性賦值后,解析成Html之后對(duì)應(yīng)的就是一個(gè)超鏈接中“夾”了一個(gè)img,但href仍然指向的要跳轉(zhuǎn)的頁(yè)面 --%>

知道了這些又有什么用呢?

用處很多,但我們今天只談?wù)揝EO。

就目前的搜索引擎技術(shù)手段,JavaScript(當(dāng)然也就包括了AJAX)、表單元素(如input)、Flash和Image都無(wú)法(或者很難)被讀取。“蜘蛛”傾向于讀取簡(jiǎn)單的html格式的文本。所以,從SEO的角度出發(fā):

1. 不要使用JavaScript或表單進(jìn)行頁(yè)面跳轉(zhuǎn)鏈接,如果一個(gè)普通的<a></a>也能完成同樣的功能。一般來(lái)說(shuō),任何不能通過(guò)標(biāo)準(zhǔn)錨標(biāo)識(shí)符<a></a>進(jìn)入的導(dǎo)航,都不會(huì)被蜘蛛檢索到。如果本來(lái)就使用的客戶端元素,我們應(yīng)該比較容易注意到這一點(diǎn);但當(dāng)使用經(jīng)過(guò)封裝處理過(guò)后的服務(wù)器端控件時(shí),我們就可能會(huì)大意了。

2. 注意UpdatePanel里沒有文本內(nèi)容的情況。我們可以做一個(gè)簡(jiǎn)單的測(cè)試:

        <asp:ScriptManager ID="ScriptManager1" runat="server">
        
</asp:ScriptManager>
        
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            
<ContentTemplate>
                
<asp:Label runat="server" ID="lbl" ></asp:Label>
                
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
            
</ContentTemplate>
        
</asp:UpdatePanel>

    protected void Button1_Click(object sender, EventArgs e)
    {
            
this.lbl.Text = "我是UpdatePanel生成的,所以你看不見我!";
    }

解析成Html后的源代碼部分:

        <div id="UpdatePanel1">
            
<span id="lbl"></span>
            
<input type="submit" name="Button1" value="Button" id="Submit1" />
        
</div>

這是很好理解的,因?yàn)閁pdatePanel一樣是通過(guò)頁(yè)面的JavaScript函數(shù)來(lái)生成頁(yè)面內(nèi)容的。查看源代碼,我們能看到相關(guān)的JavaScript函數(shù),但不能看到函數(shù)生成的內(nèi)容。而搜索引擎的蜘蛛,它也是只看源代碼的。

3. 當(dāng)我們需要使用彈出頁(yè)面時(shí),通常的做法是:

<href="#" onclick="window.open('popup.html','common','height=600,weight=800');">common popup</a>

根據(jù)我們上面的交代,這樣的寫法,對(duì)SEO而言,無(wú)疑也是不利的。所以我們應(yīng)該使用下面的代碼,即保證了彈出窗口的效果,也是SEO友好的。而且即使客戶的瀏覽器不支持或者禁用掉JavaScript,頁(yè)面一樣能夠順利的跳轉(zhuǎn)。

<href="popup.html" onclick="window.open(this.href,'seo','height=600,weight=800');return false;" target="_blank">seo popup</a>
<%--注意:這里的return false語(yǔ)句不能省略。--%>

4. 當(dāng)我們希望使用一種特殊的字體(常常是欄目標(biāo)題之類)的時(shí)候,我們經(jīng)常使用一張漢字圖片來(lái)代替。這也是一個(gè)比較麻煩的事情,因?yàn)樽鳛闃?biāo)題,其內(nèi)容常常是相當(dāng)重要的關(guān)鍵字,如果使用圖片,蜘蛛是也無(wú)法讀取的。一種可能的解決方案是sIFR,但這方面我并不是很熟;網(wǎng)上搜了一下,似乎還不能應(yīng)用于漢字。

對(duì)于圖片,我們常用的SEO方法是注明title和alt,如

<img alt="ASP.NET搜索引擎優(yōu)化" title="使用ASP.NET技術(shù)開發(fā)網(wǎng)站時(shí)應(yīng)注意到的一些SEO技術(shù)" src="seo.gif" />

不過(guò)這也屬于“不可見的頁(yè)面元素”,具體效果如何也很難精確衡量。但有總比沒有強(qiáng)!

5. 其他一些注意事項(xiàng):

5.1 將html標(biāo)簽的語(yǔ)義和css結(jié)合起來(lái),和《span》和《div》不同,《h1》意味著標(biāo)題、《b》意味著強(qiáng)調(diào)、《ul》《li》意味著列表……,這些語(yǔ)義標(biāo)簽?zāi)芙o搜索引擎更清晰的指示;

5.3 重要的內(nèi)容放在html頁(yè)面(指源代碼,而不是瀏覽器顯示結(jié)果)的頂端

5.5 將大段的JavaScript放在頁(yè)面底部或者單獨(dú)的js文件中;

5.2 最好不要使用框架(frame)布局;

5.3 大量的VIEWSTATE可能會(huì)對(duì)“蜘蛛”造成干擾;

5.5 牢記:就目前的搜索引擎技術(shù)手段,JavaScript(當(dāng)然也就包括了AJAX)、表單元素(如input)、Flash和Image都無(wú)法(或者很難)被讀取。

作者:自由飛 http://www.cnblogs.com/freeflying/archive/2010/02/19/1669469.html

標(biāo)簽: SEO ASP.NET Javascript 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:NACV淺談網(wǎng)站title的寫法

下一篇:Google收錄減少,排名下降原因分析