2013-11-01 55 views
1

我試圖做一個Response.Write彈出一個Javascript錯誤信息,當腳本達到我的ASPX頁面catch塊(不在代碼後面或類)。錯誤當Response.Write Javascript提醒

下面是代碼:

​​

該錯誤消息我得到的是:

} expected 

不知道爲什麼它告訴我,我需要一個}。一切都已經結束,當我刪除/註釋掉這條線,並把其他東西,我沒有得到任何錯誤,所以顯然,這不是像我錯過了關閉}某處...

爲什麼會發生這種情況??

+1

你確定你沒有得到這個消息,別的地方? –

+0

我100%確定。當我將這條錯誤評論出來時,一切都很好。 – FastTrack

+0

收聽@ayilmaz。 「RegisterScriptBlock」是最簡單的。 –

回答

2

問題是你可能有這樣的說法在

<script type="text/c#"> 
</script> 
籠罩

所以

</script> 

在下面的聲明被視爲結束噸他C#腳本塊

Response.Write("<script language=javascript>alert('ERROR');</script>"); 

我看到兩個選項 - 移動這個邏輯代碼隱藏或逃跑的腳本像

Response.Write("<script language=javascript>alert('ERROR');" + "<" + "/" + "script>"); 
+0

太棒了!你是對的,這是因爲該行在我的C#腳本塊之間。底線解決了我的問題! – FastTrack

0

如果我是你,我會用RegisterScriptBlock。請閱讀文本和示例。我當然知道那是你所需要的

+0

如果我不需要,我真的不想添加所有這些代碼行,但我可能別無選擇。 – FastTrack

0

我認爲你缺少附近的語言屬性單引號, 試試這個:

Response.Write("<script language='javascript'>alert('ERROR');</script>"); 
+0

當我這樣做,我得到一個錯誤,說我現在需要一個')' – FastTrack

+0

嘗試 - > Response.Write(「」); –

+0

@FastTrack:如果你能分享你的代碼,它可以幫助我們解決你的問題。 –