问题标签 [dynamic-controls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
325 浏览

jquery - ASP.NET MVC 2 Jquery event not fired

i'm building a view for editing a variable length list using this http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ solution.
Here's my ActionLink:

And here's my javascript code:

The problem is that click event is not fired, so i'm getting not the ajaxly updated view, but an empty page with my partial view, gotten from the AddReceiver action.
Any suggestions, guys?

0 投票
2 回答
3105 浏览

c# - ASP.net 在按钮按下时动态添加控件。回发问题

我有一个包含多个按钮的用户控件,根据按下的按钮,页面中会添加一个不同的控件(假设按钮 1 添加了一个文本框,按钮 2 添加了一个标签)。

我的代码如下:

然后我有第三个按钮 (button3) 来获取页面上的所有控件及其值。(假设此示例中每个按钮仅单击一次)。

我的问题是按下 button3 时 paramsCtrlDiv.controls 数组不包含已添加的控件。我知道我需要在每次回发的 Page_Load 时间添加这些控件。我的问题是因为我不知道用户添加了哪些控件我不知道我想添加什么 Page_Load(可能有一个文本框,然后是标签,只是一个标签或只是一个 tb),我可以'不控制用户按下什么。

我知道我可以将所有内容存储在会话中,但我不确定这是一个优雅的解决方案。在不同的选项卡上也可以有多个此控件的实例,因此每个实例都必须正确维护自己的控件集合

0 投票
1 回答
563 浏览

asp.net - ASP.NET 中的动态控件

我在 C# 中创建了一个 Windows 窗体应用程序,它允许用户向 TabPage 添加控件,他们可以调整其大小和重新定位。现在我只想在 ASP.NET 中做同样的事情。

我设法按照本教程动态添加控件。我使用 jQuery UI 使它们可调整大小和可拖动。我遇到的问题是,当我添加一个新控件时,所有其他控件都恢复到它们的初始位置和尺寸。

我假设我必须保存它们的位置和大小并将它们应用于 LoadViewState 上新创建的控件。有没有办法从代码隐藏中查看这些属性?我已经设法使用 Javascript 获取这些信息,但我不知道如何将其放入代码隐藏中。

有人可以指出我正确的方向吗?提前致谢。

[编辑] 谢谢你的回答。这是代码: HTML C#

0 投票
2 回答
1548 浏览

c# - 如何用 TextBoxes 动态替换部分文本?

TL;博士:

我需要将一个 TextBox 插入到 PlaceHolder 中,无论我在哪里看到类似 的标记@token@,并且拆分@不会削减它。我怎样才能做到这一点?

设置:

我有一个数据库驱动的 ASP.NET 页面,在几个地方有合并字段。在其中一个管理页面上,我想通过显示合并字段所在的文本框来使合并字段中的文本可编辑。文本的其余部分需要保持不可编辑。

输入如下所示:

“敏捷的棕色狐狸@foo@跳过@bar@懒惰的@baz@狗。”

此处的合并字段为foobarbaz。我有一个Dictionary<string, string>合并字段的值:

目标:

对于这些文本块中的每一个,我都有一个 PlaceHolder。我想做的是为每个不可编辑的文本块动态插入一个标签,并为每个可编辑的块动态插入一个 TextBox。所以上面的结果就像我硬编码了这样的东西:

问题:

匹配@token@模式很容易。诀窍是在正确的位置添加标签和文本框。给定输入中可能有多个标记,因此我必须将其分成可编辑和不可编辑的文本,同时仍跟踪每个 TextBox 对应的合并变量。事实证明,这并不像听起来那么容易。我可以使用正则表达式将输入字符串转换为 HTML,用标签替换@token@模式。<input>但是,这有几个问题:

  • 我已经有大量用于动态服务器控制方法的代码。
  • 我只想匹配特定的令牌,所以/@[a-zA-Z\d]+@/不够严格。

以前的策略:

到目前为止,我只是将输入字符串拆分为@,然后为每个奇数子字符串插入一个标签,为每个偶数子字符串插入一个文本框。效果很好,但是要求正在发生变化。@现在将允许在变量名之外使用符号,因此输入字符串可能如下所示:

blah blah@blah.com @foo@ blah

...在这种情况下,只有foo一个合并字段。

当前策略:

我觉得我需要遍历令牌并构建某种标签和文本框数组。问题是输入中可能包含任意数量的标记,因此一旦我将 TextBoxes 拆分为@foo@,我需要再次遍历文本以获取@bar@. 我想我需要为此进行某种递归,但我不能完全确定它。

0 投票
4 回答
5753 浏览

c# - 使用动态生成的控件进行 Gridview 排序和分页

我在 gridivew 中使用动态控件让自己陷入了困境。

我将 gridview 绑定到一个列表,然后添加动态控件。为了保持控制状态,我需要在页面加载中执行此操作。但是,由于事件在页面加载后触发,我无法正确处理排序和分页事件。是否有任何创造性的解决方案来解决这个问题,或者我做错了?

编辑:我不确定我是否正确解释了我的问题。在生命周期中添加动态控件的位置并不重要。问题是排序和分页事件要求我重新绑定 GridView,这(显然)导致分配给我的动态控件的属性从 ViewState 中丢失,因为排序和分页的绑定发生在生命周期的后期。

0 投票
1 回答
3061 浏览

ajax - 在 AJAX 和使用 MVC 3 和 jQuery 进行动态创建之后,元素未通过不显眼的验证进行验证

这是我的问题...

我有一个页面,最初呈现并显示使用 Ajax.BeginForm 创建的 AJAX 表单。输入一些标准并发布 AJAX 表单。返回包含使用 Html.BeginForm 创建的 HTML 表单的部分视图。

到目前为止一切顺利......到目前为止一切正常。我的不显眼的客户端验证对从局部视图创建的元素非常有效。当我现在尝试创建一些动态输入元素(通过 jQuery)并将它们插入/附加到由局部视图创建的表单中时,就会出现我的问题。我无法在动态创建的元素上进行任何不显眼的客户端验证。

我尝试过: - 克隆现有元素,修改它们的 ID/名称并将它们附加到 DOM 中。- 创建 html 字符串并将它们插入 DOM。

每次插入动态元素后,我都尝试调用: - $.validator.unobtrusive.parseElement() [新元素] - $.validator.unobtrusive.parse() [新容器、文档等] - $.validator.unobtrusive .parseDynamicContent() [插件]

这是jQuery代码详细信息...

任何帮助将不胜感激!

编辑: 在做了一些额外的研究和测试之后,我回到了这个解决方案,以确定它为什么不适合我。事实证明,我正在插入属于列表一部分的新输入元素。因此,我的新元素的名称将类似于:something[0].id、something[1].id 等...

这些名称导致 $.validator.unobtrusive.parseDynamicContent() 函数在此行失败: $('[name=' + elname + ']').rules("add", args);

我只是将其更改为 $("[name='" + elname + "']").rules("add", args);

现在一切正常...

0 投票
1 回答
2286 浏览

html - 经典asp页面上的动态复选框

我在 .asp 页面上动态创建复选框时遇到了一些问题。我在表格的单元格内使用以下代码(注意 - rsMaint 是一个记录集):

这可以找到创建我的复选框,我可以查看源代码并查看它们是否具有 id 的 cb1、cb2、cb3 等。如果我尝试这样做,我会得到一个对象不存在错误:

0 投票
3 回答
3183 浏览

wpf - 在 XAML 中为动态创建的 WPF 控件设置边距

我有一个 WPF,它在加载表单时动态创建按钮并将它们添加到已在 XAML 中声明的 StackPanel。我想在 StackPanel.Resources 内的 XAML 中完全定义这些按钮的样式。到目前为止,我可以很好地为 Style 属性执行此操作,但我无法弄清楚是做边距的最佳方法。我知道 Margin 是一种厚度,实际上不能应用于样式,但必须定义为静态资源并直接应用于 Margin 属性。有没有一种方法可以在 XAML 中做到这一点而无需借助代码隐藏?

这是我的 StackPanel 的 XAML:

谢谢,

麦克风

0 投票
1 回答
525 浏览

jquery - 如何识别何时使用 JQuery 单击动态按钮?

我正在动态创建一堆按钮

但是我如何确定其中哪一个被点击了?

0 投票
2 回答
987 浏览

javascript - 强制从服务器回发 asp.net 页面

我有一个在后面的代码中完全动态创建的页面(哦,快乐)。

在此页面上按下按钮时,会向页面添加更多元素 - 这很好,但是,刷新的页面直到下一次回发才会出现。我会做一个重定向,但我想保留在现有控件中输入的任何数据的状态。

所以 - 我需要从代码后面的服务器代码强制回发。我想这涉及到插入一些 js 代码——但除此之外,我一点也不开心。

这是一个使事情更清楚的示例:

一个非常简单的页面。

后面的代码也很简单:

您单击按钮并添加更多控件。这比我遇到问题的页面要简单得多,但它说明了我遇到的问题