在Asp.net 中使用 ExtJs viewport + Asp.net控件

Posted on   joyyuan97  阅读(3314)  评论(4编辑  收藏  举报

  我在Asp.net中使用ExtJs的viewport时,某块区域是用contentEl方式嵌入一块Asp.net区域,遇到一个问题:Asp.net中服务器按钮事件不能响应。

  通过查看页面输出的HTML(document.body.innerText = document.body.innerHTML; )发现ExtJs viewport生成的内容是直接放在Body节点下。而Asp.net控件只有再Form下,才能响应控件的事件。

  解决方法:在执行完viewport.render()后,将Body下所有内容移到Form下。  对应函数如下:

 

复制代码
 1 // 将ExtJs内容,添加到Form中
 2 function InitFormControlLocation() {
 3     parentTarget = document.forms[0];
 4     for (i = document.body.childNodes.length - 1; i > -1; i--) {
 5         tag = document.body.childNodes[i].tagName;
 6         if (tag.toUpperCase() != 'FORM') {
 7             obj = document.body.removeChild(document.body.childNodes[i]);
 8             parentTarget.insertBefore(obj, parentTarget.firstChild);
 9         }
10     }
11 }
复制代码

 

*个人感觉ExtJs支持Asp.net的情况,但是一直没有找到方法。看了ExtJs的源码后,试着改了Ext.getBody 方法,并没有达到效果 --JoyYuan97

  如果您有其他方法实现,请给我留言。

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理

随笔 - 31, 文章 - 0, 评论 - 78, 阅读 - 43238

Copyright © 2025 joyyuan97
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示