簡體   English   中英

CSS不能在asp.net C#中工作?

[英]Css not working in asp.net c#?

我有三個文件htmlcssjavascript我的css無法正常工作。我不知道為什么嗎? 這是我的aspx代碼:

<asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server">
<form id="form" runat="server">
<div id="editor" contenteditable="true" runat="server"></div>
<br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</form>
</asp:Content>

這是StyleSheet.css

#editor {
width: 100px;
height: 500px;
background-color:#444;
color: white;
font-size: 14px;
font-family: monospace;
display: block;
}
.statement {
color: #00FF00;
} 

這是JScript.js

$(function () {
$("div[ID$='editor']").on("keydown keyup", function (e) {
    if (e.keyCode == 32) {
        var text = $(this).text().replace(/[\s]+/g, " ").trim();
        var word = text.split(" ");
        var newHTML = "";

        $.each(word, function (index, value) {
            switch (value.toUpperCase()) {
                case "SELECT":
                case "FROM":
                case "WHERE":
                case "LIKE":
                case "BETWEEN":
                case "NOT LIKE":
                case "FALSE":
                case "NULL":
                case "FROM":
                case "TRUE":
                case "NOT IN":
                    newHTML += "<span class='statement'>" + value + "&nbsp;</span>";
                    break;
                default:
                    newHTML += "<span class='other'>" + value + "&nbsp;</span>";
            }
        });

        $(this).html(newHTML);

        //// Set cursor postion to end of text
        var child = $(this).children();
        var range = document.createRange();
        var sel = window.getSelection();
        range.setStart(child[child.length - 1], 1);
        range.collapse(true);
        sel.removeAllRanges();
        sel.addRange(range);
        $(this)[0].focus();
    }
  });
 });

在Masterpage.master中,這是StyleSheet.cssJScript.js鏈接:

<link rel="stylesheet" href="StyleSheet.css" type="text/css" />
<script type="text/javascript" src="JScript.js"></script> 

div高度,寬度,背景色不變。

由於它是運行服務器,因此ID會更改,因此可以將ClientIDMode更改為static以使其可預測,但更好的做法是:將CssClass添加到控件中。

您已經使div runat="server"可以將divID更改為ContentPlaceHolder因此在頁面中將找不到#editor

要么做一個classcss和分配classdiv或組ClientIDMode="static"div所以它的id作為您設置保持不變。

.editor {
width: 100px;
height: 500px;
background-color:#444;
color: white;
font-size: 14px;
font-family: monospace;
display: block;
}

<div id="editor" calss="editor" contenteditable="true" runat="server"></div>

或在div上添加ClientIDMode="static

<div id="editor" calss="editor" contenteditable="true" runat="server"  ClientIDMode="static"></div>

只需放在div“ clientidmode = Static”中使用以下代碼

#editor {
 width: 100px;
 height: 500px;
 background-color:#444;
 color: white;
 font-size: 14px;
 font-family: monospace;
 display: block;
}

<div id="editor" clientidmode="Static" runat="server"></div>

嘗試這個 。 它對我來說很完美

如果您不使用ClientIDMode而不添加它,它將起作用,無需更改div,只需復制以下CSS:

您的div:

<div id="editor" contenteditable="true" runat="server">Lorem Ipsum</div>

我還最后添加了渲染的Div

  div[id$='editor'] { width: 100px; height: 500px; background-color: #444; color: white; font-size: 14px; font-family: monospace; display: block; } 
 <DIV id="ContentPlaceHolder1_editor" contentEditable="true">Lorem Ipsum</DIV> 

希望這會幫助你。

暫無
暫無

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

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