如何控制VB.NET背后的代码的可见性

时间:2014-05-21 23:45:06

标签: javascript asp.net vb.net telerik

我遇到了问题:如果用户选择一个来自我正在显示tr的数据库和一个带有当前日期和时间的RadDateTimePicker的值,我在客户端有一个RadComboBox。 事情是在我保存表单之后,我正在禁用表单上的所有控件问题是在我保存tr之后消失了但我拥有所有其他控件。 我怎样才能防止这种情况发生? (除非用户从RadComboBox中选择一个值,否则最初的行为不是显示tr)

ASPX代码:

<tr>
    <td class="GeneralFontShape" style="height:15px; vertical-align:top; border: 0px solid red;">
        Status:
    </td>
    <td class="GeneralFontShape" style="height:15px; border: 0px solid red; vertical-align:top;">
        <telerik:RadComboBox runat="server" ID="rcbStatus" Width="250px" CheckBoxes="False" TabIndex="10" Enabled="True" EmptyMessage="Select Status" OnClientSelectedIndexChanged="StatusCheck"></telerik:RadComboBox>        
    </td>

<tr id="EndingTime" style="visibility:hidden;">
     <td class="GeneralFontShape" style="height:15px; vertical-align:top; border: 0px solid red;" >
       <div id="divEndingTime" runat="server" visible="true"> Ending Time:</div> 
    </td>
    <td class="GeneralFontShape"  style="height:15px; border: 0px solid red; vertical-align:top;">
    <div id="divrdtpEndingTime" runat="server" visible="true">
       <telerik:RadDateTimePicker ID="rdtpEndingTime" runat="server" AutoPostBack="False" Visible="true"
            DateInput-Width="170px" onkeypress="return isNumberKey(event)" Width="250px" Culture="en-US">
            <TimeView ID="TimeView2" runat="server" CellSpacing="-1"></TimeView>
            <TimePopupButton HoverImageUrl="" ImageUrl="" />
            <Calendar ID="Calendar1" runat="server" EnableKeyboardNavigation="true" >
                <SpecialDays>
                    <telerik:RadCalendarDay Repeatable="Today" Date="" ItemStyle-BackColor="lightblue"></telerik:RadCalendarDay>
                </SpecialDays>                                       
            </Calendar>
            <DateInput ID="DateInput3" runat="server" ToolTip="Date input" LabelWidth="60px">                                        
                <EnabledStyle Width="150px" />                                        
            </DateInput>
            <DatePopupButton HoverImageUrl="" ImageUrl="" />
        </telerik:RadDateTimePicker> 
        </div>
    </td>
</tr> 

JS代码:

    function StatusCheck(sender, args) {
    var status = $find("<%= rcbStatus.ClientID %>");
    var datePickerEndingTime = $find("<%= rdtpEndingTime.ClientID %>");
//  var EndingTime = datePickerEndingTime.get_selectedDate();
    var item = status.get_text();
    if (item == "Close") {
        document.getElementById('EndingTime').style.visibility = 'visible'
        datePickerEndingTime.set_visible(true);
        var nowDate = new Date();
        datePickerEndingTime.set_selectedDate(nowDate)
    } else {
        document.getElementById('EndingTime').style.visibility = 'hidden'
        datePickerEndingTime.set_visible(false);
    }
}

1 个答案:

答案 0 :(得分:0)

使用样式表类使TR可见或不可见,并在您的javascript中更改此行为,如下所示:

你的样式表类:

 .hidden { display: none !important;   visibility: hidden !important; }

您的TR元素:

<tr id="EndingTime" class="hidden">

你的 JQuery 代码:(你需要jquery来使用下面的代码)

function StatusCheck(sender, args) {
     .....
     if (item == "Close") {
           $("#EndingTime").removeClass("hidden");
           ....
     }else {
           $("#EndingTime").addClass("hidden");
           ....
     }
}

你也可以为其他元素做同样的事情。