javascript - 我如何从 asp.net c# 后面的代码中的 div 中获取文本?

标签 javascript c# html css asp.net

实际上我正在创建一个 SQL 查询编辑器,用户在其中输入查询,然后我得到此文本并传递给 SQL COMMAND 并执行查询并在 GRIDVIEW 中向用户显示结果。 .但是,问题是我怎样才能在codebehind中获取文本?来自 <div contenteditable="true" ></div> . 我有 3 个文件,它们是 html , JScript.js , StyleSheet.css . 我把textbox仅用于检查以检索 textbox 中的值单击按钮但它不起作用。 这是我的 aspx 代码:

<asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server">
<form id="form1" runat="server">
<div id="editor" contenteditable="true"></div>
<br />
<asp:Button runat="server" OnClick="load" Text="Submit" />
<asp:TextBox   ID="TextBox1" ForeColor="White" runat="server"></asp:TextBox>
</form>
</asp:Content>

这是 aspx.cs 代码:

public void load(object sender, EventArgs e)
{
HtmlGenericControl footer = (HtmlGenericControl)mainContent.FindControl("editor");
String cmd = footer.InnerHtml.ToString();
TextBox1.Text = cmd;
}

这是 JScript.js 代码:

$(function () {
$("#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();
    }
});
});

所有代码工作正常,但问题是我怎样才能在 codebehind 中获取文本从里面div哪个用户以查询的形式输入。谢谢

最佳答案

为您的 DIV 添加 runat=server 以在代码隐藏中访问 as

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

关于javascript - 我如何从 asp.net c# 后面的代码中的 div 中获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37833324/

相关文章:

javascript - 用于字母数字有限重复的正则表达式

javascript - jQuery 密码生成器

html - max-width 在 IE11 上的 Flex-box 中无法正常工作

html - 如何在悬停时更改按钮的样式属性?

javascript - 脚本可以在开关函数java脚本中以大写和小写运行

javascript - 更改 Electron 窗口背景颜色而不需要重新创建窗口?

c# - 如何判断一个Type是不是RunTimeType?

c# - 增加 float 的第 n 位数字

c# - 从文件系统返回图像

html - 将 youtube 视频包装在静态图像 "frame"中并保持响应式调整大小