2015-08-13 13 views
0

我試圖在頭中的每個頁面中自動添加一個規範鏈接。有問題的網頁是具有主頁面的WebForms。Request.Url失敗,除非由字符串前置

在母版頁的<head>我有以下幾點:

<link rel="canonical" href="<% Response.Write(Request.Url.ToString) %>" /> 

但這顯示:

<link rel="canonical" href="MasterPages/%3C%25%20Response.Write(Request.Url.ToString)%20%25%3E" /> 

但是如果我在前面加上一個空字符串是這樣的:

<link rel="canonical" href="<% Response.Write("" & Request.Url.ToString) %>" /> 

它的工作原理:

<link rel="canonical" href="http://localhost:60898/default.aspx" /> 

奇怪的是當我拿出空白字符串時,語法着色在我編譯時從黑色變爲藍色,所以它看起來像一個編譯器bug。有任何想法嗎?

回答

-1

使用ToString作爲函數:Request.Url.ToString()。 爲我工作。

+0

它顯示了我爲您發佈的沒有括號的錯誤嗎? '.ToString' *是*一個函數。它不能是別的。 –

+0

請注意,VB編譯器比C#更智能,並且知道你不需要在所有內容的末尾添加'()'。 –

+0

我的確嘗試過,只是爲了確保它能得到相同的結果。 –