我有一个像这样的自定义.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>
这是可能的吗?如果是,那么正确的语法是什么?
亚当
答案 0 :(得分:1)
你将无法使用propertytoggle.Checked,除非propertytoggle是一个.NET复选框(在你的例子中,它不是。)
在页面回发之前,您将无法获取HTML复选框的值,然后您必须检查回发的表单中是否存在复选框名称(而不是ID)。您可以在代码隐藏文件中创建一个函数,该函数返回自定义Control所需的任何内容。然后你应该能够做到:
NewProperty="<%=MyFunctionInCodeBehind() %>"
答案 1 :(得分:0)
如果您希望在复选框更改时更改属性,则必须在后面的代码中处理它。对于初始设置,就像您在示例中尝试的那样,我会尝试在内联标记中添加=,如下所示:
NewProperty="<%=propertytoggle.checked %>"