簡體   English   中英

內聯C# <noscript> 標簽

[英]Inline C# in <noscript> tags

我需要在ASP.NET中使用該標記,以便從類背后的代碼中調用C#方法,但是無論是否啟用JavaScript,它似乎都在調用它。 標簽內的其他文本可以正常工作。

以下是我正在使用的代碼,我在做錯什么嗎?

謝謝

<noscript>
  other text here
  <% DisableTextBox("textBoxId"); %>
</noscript>

解決方案 TextBox在服務器端被禁用,並使用以下JavaScript / jQuery啟用了客戶端:

$("#txtTotalQuantScore").prop("disabled", false);

ASP.NET視圖引擎對您包含的noscript標記一無所知。

服務器將執行所有服務器端代碼,並將結果寫入HTML頁面。 noscript標記不能用作C#if語句。

如果您想在Javascript不可用時禁用某些功能,可以在客戶端進行。

一種方法是將有問題的元素設置為隱藏在CSS中,然后使用Javascript取消隱藏它。

正如@Jamie Dixon所描述的,您試圖做的事情是不可能的。

查看您的方法名稱,如果瀏覽器不支持javascript,您似乎正在嘗試禁用文本框。

因此,我建議始終在服務器端禁用此文本框,並在客戶端使用javascript啟用它。

這樣,只有支持javascript的瀏覽器才會啟用文本框。

我要補充一下,您可以檢測到服務器端瀏覽器支持腳本,但是沒有簡單的方法來判斷用戶是否已啟用腳本。

您可以采取一些技巧,例如通過腳本在隱藏字段中設置值(例如0表示沒有腳本編寫,1表示啟用),但這並不總是可靠的。

暫無
暫無

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

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