根据复选框状态设置控件属性

时间:2010-02-12 14:32:21

标签: c# properties checkbox controls

我有一个像这样的自定义.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>

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

亚当

2 个答案:

答案 0 :(得分:1)

你将无法使用propertytoggle.Checked,除非propertytoggle是一个.NET复选框(在你的例子中,它不是。)

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

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

答案 1 :(得分:0)

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

NewProperty="<%=propertytoggle.checked %>"
相关问题