簡體   English   中英

如何從CSHTML.CS頁面操作DOM?

[英]How do I manipulate the DOM from the CSHTML.CS page?

我試圖根據隱藏代碼中用戶的權限刪除某些Web應用程序按鈕。

我試圖觸發javascript onload來刪除指定的DOM元素,但是該頁面將首先加載,然后在DOM之后將被修改。 我希望在頁面加載之前先修改DOM。

您不希望依靠JavaScript來確保安全是正確的,因為任何精通JavaScript的人都可以解決它。

在您的cshtml頁面中使用Razor語法甚至不要將其放在首位。 文檔在這里 ,但實際上您只是這樣做:

@if ([check if user has permission]) {
    <button>Do Something</button>
}

該語句在您的服務器上評估。 因此,如果用戶沒有權限,該按鈕將永遠不會放在頁面的第一位。

如果您具有按鈕所依賴的JavaScript,則也可以通過執行相同的操作將其隱藏:

@if ([check if user has permission]) {
    <script>
        function doSomething() {
            //do something
        }
    </script>
}

一個警告:如果您在一個已經存在的<script>標記內執行此操作,則需要將條件JavaScript放在<text>標記內,以便Razor引擎不會嘗試解釋JavaScript:

<script>
    @if (true) {
        <text>
        function doSomething() {
            //do something
        }
        </text>
    }
</script>

暫無
暫無

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

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