【问题标题】:ASP.NET - Control LifecyleASP.NET - 控件生命周期
【发布时间】:2009-06-17 03:07:03
【问题描述】:

我有一个 ASP.NET 页面,我在其中动态构建 LinkBut​​ton 和 TextBox 元素。这些元素是在页面的 OnInit 事件期间构建的。然后,用户可以执行更改这些元素的值的操作。这些元素的值通过 JavaScript 更改。当用户单击按钮时,会触发服务器端事件。此事件解析每个控件中的值。我注意到 TextBox 的值是正确的,但 LinkBut​​ton 的值不正确。

只能在 ASP.NET 中动态生成某些类型的控件并在服务器端检索它们的值吗?

谢谢。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您无法在服务器端获取链接按钮的值。您只能在服务器端获取表单元素的值。

    如果你想向服务器端传递更多的值,你可以使用隐藏的输入元素。

    【讨论】:

      【解决方案2】:

      不,通常你可以创建你喜欢的任何元素,只要你在 OnInit 事件中创建它,或者如果你添加 INamingContainer(标记)接口,你应该重写 CreateChildControls() 方法并在那里创建你的元素。

      但是通过 JavaScript 更改 LinkBut​​ton 的值是什么意思?你到底对 LinkBut​​ton 做了什么改变?你能提供更多细节吗?

      【讨论】:

        【解决方案3】:

        确保为您要通过服务器代码检索的每个表单元素设置了“runat=server”属性,并且您有一个与每个元素相关联的 ID。

        【讨论】:

          【解决方案4】:

          文本框正在工作,因为文本框的值实际上是在回发中发送的。但是链接按钮不会将任何内容发送回服务器。如果您需要发回在客户端发生更改的内容,则需要设置一个隐藏字段,然后使用该值修改您的链接按钮。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-21
            • 2023-03-18
            相关资源
            最近更新 更多