想象一下,
第1步:ASPX页面加载.
第2步:按钮触发一个脚本,该脚本创建一个带有id或class标记的html元素(div,span等),包括runat服务器属性.
我的问题是,
解决方法
如果不对服务器执行完全回发,则无法创建“真实”的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以了解该方法的工作原理.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。