如何在第一次点击后禁用NumericUpDownExtender?

时间:2010-05-25 10:49:37

标签: asp.net vb.net

我在updatepanel里面使用NumericUpDownExtender,里面的转发器显示文章的评论。我使用NumericUpDownExtender作为拇指向上/向下,我需要在第一次点击后禁用它,以便没有人可以多次评价评论。我怎样才能做到这一点?在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

是的,这是最新的,所以我找到了解决方案。

我的问题是在选中“所有号码”复选框时禁用NumericUpDownExtender。它也可以用于null,如果是nullable int。我可以禁用文本框,但用户可以通过NumericUpDownExtender递增或递减值。

我认为抓住指定的事件没有问题......

<asp:TextBox ID="tbNumber" runat="server" />
<cc1:NumericUpDownExtender ID="nudNumber" runat="server"
    Minimum="1" TargetControlID="tbNumber" Width="70" />
<asp:CheckBox ID="cbAllNumber" runat="server" Text="All Numbers" 
    OnChange="javascript:handleNumber();"/>

...并调用这样的javascript函数,这应该是解决方案:

<script type="text/javascript">
    function handleNumber() {
        var numId = "<%= tbNumber.ClientID %>";
        var nudId = "<%= nudNumber.ClientID %>";
        if ($get("<%= cbAllNumber.ClientID %>").checked) {
            $get(numId).disabled = true;
            $find(nudId)._bUp.disabled = true;
            $find(nudId)._bDown.disabled = true;
        }
        else {
            $get(numId).disabled = false;
            $find(nudId)._bUp.disabled = false;
            $find(nudId)._bDown.disabled = false;
        }
    }
</script>

我们需要通过BehaviorID找到NumericUpDownExtender。如果未设置,则这是您的ID,分别是您的ClientID,如本例所示。

答案 1 :(得分:0)

NumericUpDownExtender有三个需要禁用的控件,由TargetControlID,TargetButtonDownID和TargetButtonUpID引用。如果在第一个回调中禁用这三个控件,则应执行此操作。