簡體   English   中英

在javascript條件下使用asp.net內聯標簽

[英]Using asp.net inline tags in javascript conditional

在本地測試我的Asp.Net webforms頁面時,我厭倦了所有我的jscript社交小部件/分析初始化混亂我的調試輸出。 所以我在我的HTML標記中嘗試了這個:

<script>
if (<%= !Request.IsLocal ? "true" : "false" %>) {

這實際上發出了正確的jscript代碼(“if(true)”),沒有運行時錯誤,但Visual Studio不喜歡它。 我收到')'時出現語法錯誤。 絕對不喜歡看到編譯錯誤,即使它們是假的,我編譯的每一個時間。

我改變它來比較字符串,比如

if ("<%= Request.IsLocal %>" === "False") {

哪個工作並發出像'if(“True”===“False”)'這樣的代碼,但是......這只是讓我神經緊張並且看起來很難看。 這只是一個Visual Studio的怪異,還是有更好的方法在jscript條件中使用asp.net服務器布爾值?

你可以這樣做:

<script>
  var isLocal = "<%= Request.IsLocal %>" == "True";
  ...

  if(isLocal) {
    // do local stuff
  }
</script>

VS不抱怨。

javascript / html / css +服務器標簽的組合將根據其位置等顯示斜線。

如果你真的想避免這種情況,你必須在后面的代碼中創建你的javascript。

<asp:Literal id="script" runat="server">

並在代碼背后。

if (Request.IsLocal) {
    script.Text = "<script>function(){}</script>";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM