注册命中0时显示消息

时间:2011-03-02 13:15:33

标签: javascript asp.net vb.net webforms

当前背景: 我有一个连接到数据库的ASP.NET VB表单。在数据库中,有一个名为TourCount的字段。每次用户提交表单时,此计数都会减1。

目标: 当TourCount达到0时,所有注册必须关闭。然而,目前,TourCount继续描述为负数。当TourCount达到0时,我希望在表单上方显示“注册已关闭”的消息。

当前尝试: 我尝试了一些东西,但我不知道它会发生什么。我没有收到配置错误消息,但它也从未正常运行。我不确定我应该使用哪种类型的脚本或什么类型的脚本。我的逻辑说,当TourCount小于或等于零时,通过名为“Message”的id显示一个文本字符串。

        <asp:SqlDataSource id="SqlDataSrcTourCount" runat="server" ConnectionString="<%$ ConnectionStrings:recruitmentConnectionString %>" SelectCommand = "SELECT [TourCount] FROM [tourdates] WHERE [TourType] = @TourType AND [TourDatesAvailable] = @TourDates" ProviderName="System.Data.SqlClient" UpdateCommand="UPDATE [tourdates] SET [TourCount] = ([TourCount] - 1) WHERE [TourType] = @TourType AND [TourDatesAvailable] = @TourDates">
            <SelectParameters>
                <asp:Parameter Name="TourType" DefaultValue="JobFair"></asp:Parameter>
                <asp:Parameter Name="TourDates" Type="String"></asp:Parameter>
            </SelectParameters>
            <UpdateParameters>
                <asp:parameter Name="TourType" DefaultValue="JobFair"></asp:Parameter>
                <asp:parameter Name="TourDates" Type="String"></asp:Parameter>
            </UpdateParameters>
        </asp:SqlDataSource>

        <script type="text/javascript">
            If (TourCount <= 0) {
                document.getElementById("Message").style.display = "inline";
                return true;
            }
            else {
                document.getElementById("Message").style.display = "none";
                return false;
            }
        </script>

In the HTML: <span id="Message">-Closed-</span>

如果有人能为我提供有关如何进行的一些见解,我将非常感谢您的帮助。非常感谢您抽出时间阅读。

1 个答案:

答案 0 :(得分:0)

我想知道,你为什么要使用javascript?

如果我是你,我只需在PageLoad上获得TourCount 如果TourCount = 0,则导航到您的closed.asmx 否则,当他们点击提交按钮 再次获得TourCount(在此期间它可能会改变) 如果仍然> 0进行注册并减少TourCount 如果0导航到“太慢的慢速”页面。

我唯一使用javascript的方法是每x秒动态刷新一次TourCount,当它达到0时自动导航到closed.asmx。