【问题标题】:Dynamic creation of TextBox in front of every child node of a TreeView when being expanded展开时在TreeView的每个子节点前动态创建TextBox
【发布时间】:2012-12-01 00:16:04
【问题描述】:

如何在 TreeView 展开时在每个子节点前面动态创建文本框。

我创建了一个程序,它有一些父节点和一些子节点 我希望每当用户在 TreeView 控件中展开任何“父节点”时,我只想在每个“子节点”前面显示(文本框/html 输入)。

问题:我在服务器端动态创建了文本框,但无法将其放置在正确的位置(即在每个子节点的前面)。

可以通过服务器端代码实现吗?即textbox1.position 12,12; 或一些 CSS 或 HTML?

【问题讨论】:

  • 也许你可以提供一些代码来开始。
  • 顺便说一句,您知道您可以简单地将字符串添加到创建的 HTML 标记中吗?这样你就可以加style="position: relative; left: 10px; top: -5px"了吧?

标签: asp.net css


【解决方案1】:

您可以在服务器上创建额外的控件,然后使用 CSS 定位它们。但是,我的猜测是您将希望在客户端创建它们。那是 JS(建议:使用 jQuery)。这样你的代码会更快,用户体验也会更好。

如果您提供有关您要达到的目标的信息,则更容易为您提供指导。

编辑:

您可以在服务器端渲染控件时将此字符串添加到控件。不过请注意,我不推荐这种方法。

style="position: relative; left: 10px; top: -5px"

【讨论】:

  • 非常感谢您的回复。但首先我想使用 .net 代码(服务器端代码)“创建”、定位“文本框。我想在不使用 jquery 或 JS 的情况下做到这一点
  • @user1670504 使用 C#、VB?您需要提供更多细节。 :)
  • 使用 c sharp,我想编写 c# 代码,帮助程序将“控件”定位在我想要的位置。即 label1.position=position.x-10;
  • @user1670504 我不完全确定我明白你的意图。您所描述的应该使用 CSS(可能还有 JavaScript)来完成。但是你说你想用C#来解决它。我可以问为什么吗?这是可行的,但不建议这样做,因为您要做的是触发onclick 事件,然后将页面发布回服务器,对其进行改造并将其发回。它很慢。这很麻烦。这是错误的......除非你有一个很好的理由,否则不要这样做。 :)
  • @CreativeCode 是的,我可能可以。但是,这不仅仅是几个问题和答案,还需要更多的工作。它并不那么复杂,但需要一段时间才能习惯。我建议你做的是设定一个目标,例如“创建一个带有蓝色文本的页面,悬停时将变为绿色,单击时将变为白色,从而产生消失的印象”。您可以使用本地文件执行此操作,无需服务器。将目标分解成更小的目标,看看你知道如何自己去做。如果没有,请在这里询问。 (与我分享此类问题的链接,我会为您提供帮助。)
猜你喜欢
  • 2017-04-27
  • 1970-01-01
  • 2012-03-10
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 2019-04-18
  • 1970-01-01
相关资源
最近更新 更多