asp.net在代码后面获取html控件

2024-02-01

如果我使用 JavaScript 更改页面上的 html,如何在 ASP.NET 代码后面访问这些更改?

我在网上找到了一些dhtml“拖放”代码(http://www.dhtmlgoodies.com/scripts/drag-drop-nodes/drag-drop-nodes-demo2.html http://www.dhtmlgoodies.com/scripts/drag-drop-nodes/drag-drop-nodes-demo2.html),但是将列表项从一个控件移动到另一个控件后,我不知道如何“访问”后面代码中的每个控件,以便我可以将列表项保存在每个控件中。

我尝试使用 HTML Agility 包,但似乎我只能访问未更改的 html - 这意味着所有控件都是空的。

任何帮助/建议表示赞赏。或者欢迎任何关于更好的方法来完成此任务的建议(jQuery?Ajax Toolkit?)。

EDIT: 这是一些代码。我可以通过 JavaScript 函数 saveDragDropNodes 使用“ul”ID 和我拖放的相应“li”控件来填充 ASP 标签控件 (_saveContent)。但是,当单击保存按钮时,我的标签控件不再包含任何文本...

function saveDragDropNodes() {
        var saveString = "";
        var uls = dragDropTopContainer.getElementsByTagName('UL');
        for (var no = 1; no < uls.length; no++) {   // LOoping through all <ul>
            var lis = uls[no].getElementsByTagName('LI');
            for (var no2 = 0; no2 < lis.length; no2++) {
                if (saveString.length > 0) saveString = saveString + ";";
                saveString = saveString + uls[no].id + '|' + lis[no2].id;
            }
        }
        document.getElementById("<%=_saveContent.ClientID %>").innerHTML = saveString.replace(/;/g, ';<br>');
    }
  <div id="dhtmlgoodies_dragDropContainer">
    <div id="dhtmlgoodies_listOfItems">
        <div>
            <p>
                Available Items</p>
            <ul id="allItems" runat="server">
            </ul>
        </div>
    </div>
    <div id="dhtmlgoodies_mainContainer">
        <div>
            <p>
                Group 1</p>
            <ul id="_ul1">
            </ul>
        </div>
        <div>
            <p>
                Group 2</p>
            <ul id="_ul2">
            </ul>
        </div>
    </div>
    <asp:Label ID="_lSave" runat="server" ForeColor="Red" EnableViewState="false" />
</div>
<div id="footer">
<span onmouseover="saveDragDropNodes()">
    <asp:Button ID="_btnSave" runat="server" Text="Save Groups" OnClick="_btnSave_OnClick" /></span>
</div>
<ul id="dragContent">
</ul>
<div id="dragDropIndicator"></div>
<asp:Label ID="_saveContent" runat="server" />

背后代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    If Not Page.IsPostBack Then
        GetItems()
    End If
End Sub
Private Sub GetItems()
    Dim dt As DataTable = DbHelper.GetDataTableForSP("GetListOptions")
    Dim index As Integer = 1
    For Each _row As DataRow In dt.Rows
        Dim _li As New HtmlGenericControl("li")
        _li.ID = _row("ClassId")
        _li.Attributes.Add("runat", "server")
        _li.InnerHtml = String.Format("{0}) {1} {2}", index, _row("ClassId"), _row("ClassDescription1"))
        allItems.Controls.Add(_li)
        index += 1
    Next
End Sub
Private Sub SaveGroups()

    Dim str As String = _saveContent.Text /*No text here */
    _lSave.Text = "Groups Saved!"
    GetItems()
End Sub

发回服务器的唯一内容是表单字段中的值。看:表格提交 http://www.w3.org/TR/html401/interact/forms.html#submit-format.

您有两个选择:

  1. 使用 ajax 将 HTML 从客户端传递到服务器。
  2. 使用隐藏的输入字段在页面回发之前存储 HTML。

这是后者的一个例子:

Markup

<div id="content"></div>
<asp:HiddenField ID="hiddenContentField" runat="server" />
<asp:Button ID="button1" runat="server" Text="Post back" OnClick="button1_Click" OnClientClick="storeContent();" />

Script

function storeContent() {
    $('#<%= hiddenContentField.ClientID %>').val($('#content').html());
}

在内容元素中所做的任何更改都将存储在隐藏的输入元素中,并在回发时发送到服务器。

然后在后面的代码中您可以访问传递的 HTML,如下所示:

protected void button1_Click(object sender, EventArgs e)
{
    string html = hiddenContentField.Value;
}

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp.net在代码后面获取html控件 的相关文章

  • 在each() 和forEach() 中使用break 和 continue

    如果我们不能使用 break 和 continue 关键字 我不确定我是否理解函数式循环 映射的价值 我可以做这个 collections users models forEach function item index can t use
  • 处理时区转换的 JavaScript 库

    是否有一个 JavaScript 库可以处理时区转换 并考虑 DST 规则和此类内容 我知道有类似的问题 但我见过的问题似乎都没有真正适合我的问题的答案 我想在时区 A 创建一个日期并能够对其进行操作 添加天数 小时等 然后将其转换为另一个
  • 使用淘汰赛动态显示/隐藏元素

    我有一个表 有四列 即代码 名称 数量和价格 其中 我想动态更改数量列的内容 元素 通常 它应该显示其中显示数量的元素 当用户单击元素时 我想显示该元素 以便用户可以编辑数量 我正在尝试按照 示例2 来实现淘汰赛文档链接 http knoc
  • ASP.NET 数据集 getdataBy 无法启用约束。一行或多行包含违反非空、唯一或外键约束的值

    你好 我有一个非常简单的网络表单 我在此表单上有一个按钮和一个网格视图 以及一个包含链接表 bill docket docket bill 等的数据集 在按钮上单击我使用以下代码 protected void button click ob
  • Lightbox:如何翻译“Image x of x”文本?

    我使用 Lightbox 2 作为图像集 当我的网站的访问者单击该集中的缩略图时 它将显示 图像的放大版本 下面是 描述 取自 a 标题属性 其下方 文本 Image x of x 例如 Image 1 of 12 有谁知道在哪里翻译 更改
  • Flask 和 Reactjs 抛出 JSX 转换错误

    我已经开始将 ReactJS 与 Python Flask 后端结合使用 通过 Flask 渲染模板时 我在 Chrome 控制台中收到以下客户端错误 错误 找不到模块 jstransform visitors es6 templates
  • 在 Windows 上静默安装 Qt55 Enterprise

    编辑 在 Qt 支持的帮助下 我已经解决了如何自动化 Qt 企业安装程序的这两个部分 下面是脚本调用 我正在尝试在 Windows 8 1 和 Windows 10 上静默安装 Qt 5 5 1 Enterprise 使用 script 开
  • 本地主机和 request.Url.Authority

    我的应用程序通过 URL 中的公司标识符分隔用户 company1 app com company2 app com 我正在本地 PC 上进行测试 请求如下 company1 localhost com 但是 我的 request Url
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • 如何使用转义的 unicode 解码字符串?

    我不确定这叫什么 所以我在搜索时遇到了麻烦 如何使用 unicode 解码字符串http u00253A u00252F u00252Fexample com to http example com使用 JavaScript 我试过unes
  • 更改成员资格、角色等的默认连接字符串

    默认情况下 我的网络应用程序似乎正在使用LocalSqlServer作为用于任何应用程序服务 例如成员资格 角色 身份验证 等 的连接字符串 有什么方法可以更改默认连接字符串应该是什么 默认值是 LocalSqlServer 似乎很随意 我
  • Fancybox 只能水平响应高内容吗?

    我有一个网站 其中有一些非常高的图像 我希望这些图像能够以响应方式水平响应 但不能垂直响应 如果它们符合浏览器的高度 它们就会变得太小而无法正确查看 有没有一种简单的方法可以实现我所缺少的 请参阅下面的示例 单击第二个缩略图 bswift
  • 检测 html 选择框上的编程更改

    有没有办法让 HTML 选择元素在每次以编程方式更改其选择时调用函数 当使用 JavaScript 修改选择框中的当前选择时 IE 和 FF 都不会触发 onchange 此外 更改选择的 js 函数是框架的一部分 因此我无法更改它以在结束
  • 如何在react.js中将/n替换为换行符?

    我正在尝试更换每一个 n to a br tag in ReactJS In my note note对象有一个包含多个的字符串 n in it 示例注释 注释 test ntest ntest 我尝试过的ReactJS note note
  • 如何更改数据表中标题单元格的内容?

    我正在使用数据表 http datatables net plugin 在我的可排序列上 我想用按钮替换列文本 但是这样做 oSettings aoColumns i nTh text 我可以检索相应列的文本 但是 oSettings ao
  • 如何使用 Chart.js 版本 3.2.1 在圆环图中添加文本

    我正在使用 Canvas 在 HTML 中使用 如何使用在圆环图中添加文本 这是我的 javascript 代码和 HTML 代码 我使用了图表js版本3 2 1 所以请给出相同版本 3 的解决方案 var overallStatsCanv
  • 使用 javascript 从亚马逊 URL 中抓取 ASIN

    假设我有一个像这样的亚马逊产品 URL http www amazon com Kindle Wireless Reading Display Generation dp B0015T963C ref amb link 86123711 2
  • 为什么 phantomjs 不能在 MacOS Sierra 中工作?

    我们正在使用phantomjs 1 9 1 macosx phantomjs 2 0 0 macosx哪一个工作得很好OS X 埃尔卡皮坦更新后macOS 塞拉利昂它会引发以下错误 phantomjs 1 9 1 macosx phanto
  • Asp.net 动态验证器在 Chrome 或 Safari 中不起作用

    好的 我正在动态创建 Asp net 验证控件并将它们插入到更新面板中 验证在 IE 和 Firefox 中有效 但在 Chrome 或 Safari 中无效 这是 aspx 文件 不要问我为什么不使用按钮服务器控件
  • 文件和目录条目 API 在 Chrome 中损坏?

    我正在尝试使用文件和目录条目 API 创建一个文件上传器工具 该工具允许我将文件和目录的任意组合放入浏览器窗口中 以供读取和上传 我完全意识到 可以通过使用文件输入元素来实现类似的功能webkitdirectory已启用 但我正在测试一个用

随机推荐

  • jquery html() 去掉脚本标签

    我需要用 ajax 调用生成的 html 替换页面中 div 的内容 问题是 html 中有一些必要的脚本 并且 jquery html 函数似乎将它们删除了 我需要过滤响应并只获取特定的 div 我正在考虑一种解决方法 即从 ajax 响
  • 返回 JSON 无法正常工作

    我正在尝试从数据库返回数据并将其转换为 json 并将其发送回我的 javascript 然而它并没有按计划工作 它在 JavaScript 上作为数组返回 JavaScript function getData id ajax url s
  • 如何获得两列之间的差异

    我有一个查询生成如下内容 StartTimestamp EndTimestamp 100 450 150 500 我希望结果还包括 EndTimestamp 和 StartTimestamp 之间的差异 StartTimestamp End
  • 如何使用 Windows Installer XML 注册 COM 对象

    我遇到以下问题 在我的 WiX 设置中 我需要注册一个 COM 对象 我有一个 tlb 文件和一个 dll 文件 在我的示例中 XYCommon dll 和 XYCommon tlb 现在我想要进行设置以注册 TLB 如何在 Windows
  • 隐藏自动生成的 CTest 目标

    我在 CLion 中使用 CMake 和 CTest 令人烦恼的是 CTest 生成了大量我不关心的目标 连续的 持续构建 连续配置 持续覆盖 连续内存检查 连续启动 连续提交 连续测试 持续更新 实验性的 实验构建 实验配置 实验覆盖范围
  • 如何使用 VSCode 调试器来调试 Gunicorn 工作进程?

    我有一个在 Ubuntu 14 04 上用 Python 3 4 编写的 GUnicorn Falcon Web 服务 我想使用 VSCode 调试器来调试此服务 我目前使用命令启动该进程 usr local bin gunicorn co
  • 水平滑动手势和垂直页面滚动

    我正在构建一个移动网站 并且有一个图像幻灯片放映 允许水平滑动图像 我使用的 javascript 库是 bxslider 然而 如果用户触摸幻灯片并想要向上 向下滚动页面 则幻灯片会阻止垂直滚动 因此必须触摸网站的另一部分 有人可以告诉我
  • 错误:未知命令:木桶 ||尽管使用了多实例试验

    我已经无能为力了 我不断收到错误消息Error Unknown command cask尽管我之前已经通过此链接使用了很多不同的安装 自制木桶选项无法识别 https stackoverflow com questions 30413621
  • 如何在sass中使用循环生成多个mixin(mixin lib)

    我想保持我的 sass 代码简短 代替 mixin tg font size line height something related to font size and line height mixin h1 include tg mi
  • 在运行时创建类时,使用 exec 相对于 type() 有什么优势?

    我想在 python 中在运行时动态创建类 例如 我想复制下面的代码 gt gt gt class RefObj object def init self ParentClassName print Created RefObj with
  • THREE.js 对单个 > 500k 多边形(面)对象、与地球的线相交的光线投射非常慢

    在我的项目中 我让一名玩家环游世界 地球不仅仅是一个球体 它还有山脉和山谷 所以我需要改变玩家的 z 位置 为此 我从玩家的位置向单个对象 地球 投射一条光线 并得到它们相交的点并相应地改变玩家的位置 我仅在玩家移动时进行光线投射 而不是在
  • 如何使用 R CMD BATCH 抑制行号输出?

    如果我有一个 R 脚本 print hi commandArgs 我使用以下命令运行它 r CMD BATCH slave no timing test r output txt 输出将包含 1 hi 1 Library Framework
  • 从调用者的角度发出警告(又名 Python 相当于 Perl 的鲤鱼)?

    简洁版本 有没有办法在Python中达到Perl所达到的相同效果Carp carp http perldoc perl org Carp html公用事业 长版 对于那些不熟悉的人Carp carp 假设我们正在实现一些库 API 函数 即
  • Swift 中的静态属性

    我正在尝试将以下 Objective C 代码转换为 Swift 在我的 Objective C 代码中 有一个静态变量 可以通过类方法访问它 implementation SomeClass static NSMutableArray i
  • Python - 替换数组中 1 之前的值

    假设我有一个由 0 和 1 组成的 pandas 系列 但这可以与 numpy 数组或任何可迭代对象一起使用 我想创建一个公式 它接受一个数组和一个输入 n 然后返回一个新系列 其中第 n 个索引处包含 1 直到每次原始系列中至少有一个 1
  • 删除并重新部署应用程序后,iOS CoreData + iCloud 中出现错误消息

    该应用程序从一开始就放在 iCloud 中 因此我有机会向其中填充数据 并看到其他设备上发生的同步 但是 仅在一台设备上删除并重新部署应用程序后 我开始遇到问题 特别是在启动时 此时需要花费很多时间 NSLog add coordinato
  • 文本没有出现在 Rmarkdown 中?

    我创建了一个名为 widgets t html 的 html 文件 几个情节图组合在一起 使用本教程 https beta rstudioconnect com jjallaire htmlwidgets showcase storyboa
  • 需要检查登录用户名和密码,然后从以前的条目中获取数据

    根据我之前问过的这个问题 需要从 Google Apps 脚本查询 Google Sheet 的特定数据 https stackoverflow com questions 65717284 need to query google she
  • 递归删除文件

    有没有人有解决方案来删除将文件从 Mac 移动到 Linux 服务器后获得的那些讨厌的 和 DS Store 文件 指定一个起始目录并放开它 就像 var www html 下 切换到目录 然后使用 find name DS Store p
  • asp.net在代码后面获取html控件

    如果我使用 JavaScript 更改页面上的 html 如何在 ASP NET 代码后面访问这些更改 我在网上找到了一些dhtml 拖放 代码 http www dhtmlgoodies com scripts drag drop nod