问题标签 [dynamic-usercontrols]
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.
c# - 无法访问通过用户控件动态加载的控件(如文本框、复选框、复选框列表)中的数据
请找到我正在尝试处理的场景:
我有一个 aspx 页面,其内容是通过动态加载各种用户控件来加载的。这些用户控件中的每一个都有自己的控件集,例如文本框、复选框列表或复选框。
单击“保存”按钮时,我想从复选框列表中捕获文本框中和复选框中的数据。
我能够使用以下代码成功地从这些控件中收集数据:
这种方法运行良好,直到我有新的需求。为了满足新的需求,我不得不改变逻辑以从 jQuery 发出 AJAX 请求,如下所示:
通过这种请求,我无法访问 .cs 上的文本框数据(或复选框列表的选中项)。对 txtFirstName.Text 的任何调用都将返回为空。
谁能提供有关我如何实现这一目标的指示?
编辑:由于在单击“保存”按钮时会生成一个新的 AJAX 请求,因此会再次加载所有用户控件,这会导致最终用户输入的所有数据丢失。在发出 AJAX 请求之前,我可以通过哪些方式捕获所有最终用户输入的数据?也许,在 jQuery 中为文本框和复选框列表创建一个 JSON,然后将其传递给“数据”?
c# - 如何从其视图模型中关闭用户控件
我创造了UserControl
这样的:
我用它把它输出ItemsControl ItemsSource="{Binding ControlCollection}"
到视图。
它干净漂亮,但问题是我不知道如何关闭UserControls
我打开的那些。
如果我只是将它删除到集合中怎么办。因此视图模型也会关闭吗?
c# - 无法访问子页面中动态调用的用户控件中的控件
我正在使用下面的链接根据我在 aspx 页面中的条件动态调用用户控件。 我用来动态加载用户控件的链接
现在的问题是,
1)我正在创建相应用户控件的对象,以调用该页面的提交功能。(这是正确的方法吗)。
2)在子页面,即(用户控件)中,我得到对象引用异常,同时访问该用户控件的控件。
任何人都可以帮忙。
您好,附上示例代码以进一步说明。1)我正在使用的用户控制代码。
对象引用的错误出现在这一行。lbl.文本。
2)调用此用户控件的页面如下。
c# - 从窗体 c# 调用用户控件的方法?
我在 usercontrol schuler 中有方法 listviewupdate() 。用户控件舒勒在 form1 中。然后我有form2。当我单击 form2 中的按钮时,我想调用方法 listviewupdate()。
我尝试在 form1 中创建第二个方法,该方法调用 listviewupdate() 方法,然后在 form 2 中调用第二个方法,但出现错误。有人能帮帮我吗?
c# - 嵌套的 ASP.NET 用户控件为空
我正在使用 Visual Studio 2017 和 .NET 4.7.1 开发一个 ASP.NET 应用程序。我有一个简单的用户控件,名为ContentStatsViewer.ascx
,它显示几个标签。要显示的值通过公共属性传递。
其他控件,例如NumericContentStatsViewer.ascx
包括ContentStatsViewer.ascx
其他内容的实例,如下所示:
此控件还具有一些属性,这些属性设置为确定要显示的数据。其中一些属性委托回嵌入的属性ContentStatsViewer.ascx
,如下所示:
NumericContentStatsViewer.ascx
最后,我通过动态加载在常规网页上使用我的控件。例如:
我正在Page_Load
事件处理程序上执行此操作,并且似乎工作正常。但是,一旦我尝试设置一个委托回嵌入式控件的属性,就会出现异常。例如,如果我执行以下操作:
Data_Element
...我在属性设置器上得到一个 NullReferenceException因为this.csvMain
它是空的。
我不明白为什么这是空的。我尝试将其移至其他页面事件处理程序,例如Page_LoadComplete
or Page_PreRender
,结果相同。
有任何想法吗?谢谢你。
c# - C#更新动态生成的UserControl标签的文本
我真的在 C# 上苦苦挣扎。我得到了一个项目要处理,但我的大部分经验都是在 C 中。应用程序的目的是 ping API 并以 Windows 形式显示来自它的数据。
我可以获取数据并动态显示它,但我不知道如何使用每 3 秒抓取一次的新数据更新表单。
数据源提供用户信息。可以有x个用户。因此,经过大量谷歌搜索和阅读其他 SO 线程后,我确定最好的方法似乎是创建一个 UserControl 并调用它 x 次,将每个用户添加到屏幕上。这行得通。但是,我似乎无法用新数据更新控件。
这是我的代码:
用户控件:UserStatus.cs
用户状态.Designer.cs
表格:Form1.cs
Form1.Designer.cs
正如我所说,我对 C# 很陌生,所以到目前为止我不得不拆解一些例子来让它工作。我确定它很乱。
由于我动态添加 UserControls,我将如何引用它们以更新它们?
c# - 我可以在 c# 上创建一些具有动态名称的组件吗?
我需要在表单中添加一些用户控件。但我应该使用参数名称 ex 创建它。控制1,控制2等...
因此,要添加控件,我使用以下代码:
//MachineArea 是我需要在 UI 中显示的用户控件
我想在 for 循环中输入此代码,并使用循环索引更改控件名称的最后一个字符,如下所示。
这是可能的?
谢谢
c# - 在保持表单1中制作UserControl更改面板
我有 form1 和 panel1 为 usercontrol1 保存位置,我想从 usercontrol1 内的按钮更改为 usercontrol2 ,这意味着可以访问当前持有的表单并从用户控件 1 在面板 1 中显示 usercontrol2
c# - 如何根据嵌套用户控件中另一个用户控件的数据处理一个用户控件的呈现下拉列表
我的场景是我有多个嵌套在网页中的用户控件这里用户控件 B 可以根据用户输入是多个并且具有主下拉列表。稍后每个用户控件 B 都可以有多个用户控件 c,如图所示,它们有下拉 2,这取决于主下拉的值,即下拉 1,如下图所示。
现在我的问题是:在选择dropdown1的索引更改后,子用户控件不加载,如果我通过调用usercontrol c的page_load强制它们加载,它不会反映更改,而在调试时您可以看到更改。
如果我将下拉绑定代码移动到用户控件 C 上的 page_prerender 并在用户控件 B 的下拉列表 1 的选定索引 chnage 上调用它,它会更改值,但对于页面上的用户控件 C 的所有实例,而不是嵌套在用户控件 B 内的实例。
请提出解决此问题的理想方法。所有用户控件都在 updatemode=always 的更新面板中。