我在EXT.NET中遇到问题。我在EXT.NET中有下一个结构
<ext:SplitButton runat="server" ID="btnExcel" Icon="PageExcel" ToolTip="Something text" Cls="ReportesButton" OverCls="ReportesButtonOver">
<Bin>
<ext:Menu runat="server" ID="Menu3">
<Items>
<ext:Panel runat="server" ID="Panel17" Width="180" Height="25" Layout="VBoxLayout">
<Items>
<ext:Checkbox runat="server" ID="chkbox" Checked="false" IndicatorText="Something text">
<Listeners>
<Change Handler="#{btnExcel}.bin[0].hide();"></Change>
</Listeners>
</ext:Checkbox>
</Items>
</ext:Panel>
</Items>
</ext:Menu>
</Bin>
<Listeners>
<ArrowClick Handler="this.bin[0].show(); this.bin[0].alignTo(this.el);"></ArrowClick>
</Listeners>
</ext:SplitButton>
直到这一刻,一切都很好,但是当我尝试使用chkbox.Checked或chkbox.Value在我的.cs类中获取值时,值始终为false,即使我更改了复选框值。我从来没有遇到chkbox.Checked使用复选框从另一种方式的问题。我将不胜感激。我使用EXT.NET 3.1
答案 0 :(得分:0)
代码隐藏只会看到页面最初的值(只要在标记中定义,而不是来自Page_Load()
等调用之后的其他代码),除非您以某种方式提交了值。每次调用代码时,Ext.NET都不会提交所有内容,因此问题不一定在您提供或显示的代码段中,而是您调用代码的方式。
通常,formPanel中的表单字段是在调用后的代码上提交的,但这取决于您调用代码的方式。
在您的情况下,您可能需要在直接事件/方法调用中使用 ExtraParameter 传递复选框的当前值。但实际上,这取决于你如何调用代码。
对于传递复选框值的DirectEvent处理按钮,它将是:
<ext:Button runat="server" Text="Check">
<DirectEvents>
<Click OnEvent="CheckCheckBoxValue">
<ExtraParams>
<ext:Parameter
Name="name"
Value="App.Panel17.down('checkbox').getValue()"
Mode="Raw"
/>
</ExtraParams>
</Click>
</DirectEvents>
</ext:Button>
的代码段
答案 1 :(得分:0)
额外参数可以是一个选项,但我所做的是改变控制和这种方式的结构:
.wrap {
position: relative;
padding: 0;
margin: 0;
}
p {
width: 200px;
border: solid black 1px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin: 0;
}
span {
position: absolute;
left: 210px;
top: 0;
z-index: -1;
}
p:hover {
overflow: visible;
white-space: normal;
width: auto;
background-color: #FFF;
}
我认为结构必须与特定控件一起运行才能正常运行