加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net :( c#client-side)如何访问页面加载后创建的html元素?

发布时间:2020-12-16 06:47:25 所属栏目:asp.Net 来源:网络整理
导读:想象一下, 第1步:ASPX页面加载. 第2步:按钮触发一个脚本,该脚本创建一个带有id或class标记的html元素(div,span等),包括runat服务器属性. 我的问题是, 最后一步:从我的C#文件,如何访问该元素并获取它的内部html,所以我可以将它保存为字符串? PS:我将使用
想象一下,

第1步:ASPX页面加载.
第2步:按钮触发一个脚本,该脚本创建一个带有id或class标记的html元素(div,span等),包括runat服务器属性.

我的问题是,

最后一步:从我的C#文件,如何访问该元素并获取它的内部html,所以我可以将它保存为字符串?

PS:我将使用该字符串将其保存在我的mssql数据库中.

解决方法

如果不对服务器执行完全回发,则无法创建“真实”的runat = server元素/控件.

最好的方法可能是在提交页面之前编写一些将innerHTML存储到ASP.Net隐藏字段的脚本.然后,您可以访问此隐藏字段的值以获取数据.

如果您想动态创建多个对象,则需要使用标准的html隐藏输入字段,因为您无法通过javascript创建asp.net服务器控件.

<input type="hidden" name="fieldData_1" value="control 1 html content">
<input type="hidden" name="fieldData_2" value="control 2 html content">

然后,您就可以从Request.Form对象访问这些隐藏字段:

Request.Form["fieldData_1"]

知道了这一点,您现在可以迭代表单数据并处理所有动态字段

foreach (string fieldData in Request.Form)
{
    if(fieldData.Contains("fieldData_"){
        //process the data for each field
    }
}

也可以避免一起使用隐藏字段,只需使用__doPostback(”,”)方法直接将数据传递给服务器.这可以通过许多不同的方式实现,因此我将向您推荐http://dopostback.net以了解该方法的工作原理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读