【问题标题】:Set control property based on checkbox state根据复选框状态设置控件属性
【发布时间】:2010-02-12 14:32:20
【问题描述】:

我有一个这样的自定义 .net 控件:

<myControl:control1 ID="dimDataSource" runat="server" SelectorType="red"
                    EnableViewState="False"  >
</myControl:control1>

我想添加一个随标准 html 复选框状态而变化的属性。 (但如果这不能完成,我会添加一个 .net 复选框)

所以这里有一个复选框:

<input type="checkbox" id="propertytoggle" >

我认为新标签应该是这样的,但我无法正确使用语法:

<myControl:control1 ID="dimDataSource" runat="server" SelectorType="red"
                    EnableViewState="False" NewProperty="<% propertytoggle.checked %>"   >
</myControl:control1>

这可能吗?如果可以,正确的语法是什么?

亚当

【问题讨论】:

    标签: c# properties checkbox controls


    【解决方案1】:

    除非 propertytoggle 是一个 .NET 复选框(在您的示例中,它不是),否则您将无法进行 propertytoggle.Checked。

    在回发页面之前,您将无法获取 HTML 复选框的值,然后您必须检查回发的表单中是否存在复选框名称(而不是 ID)。您可以在代码隐藏文件中创建一个函数,该函数返回自定义控件所需的任何内容。那么你应该可以做到:

    NewProperty="<%=MyFunctionInCodeBehind() %>"
    

    【讨论】:

      【解决方案2】:

      如果您希望在复选框更改时更改属性,则必须在后面的代码中处理它。对于初始设置,就像您在示例中尝试做的那样,我会尝试将 = 添加到内联标签中,如下所示:

      NewProperty="<%=propertytoggle.checked %>"
      

      【讨论】:

      • 安迪也是正确的。复选框应该是和asp控件。
      猜你喜欢
      • 2013-12-16
      • 2019-09-26
      • 1970-01-01
      • 2021-10-27
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多