مخفی کردن کنترل label بعد از چند ثانیه در asp.net

سه شنبه 23 دی 1393

در این مقاله میخواهیم توسط رویداد کلیک یک دکمه یک Label یا DIV را مخفی کنیم

مخفی کردن کنترل label بعد از چند ثانیه در asp.net

 تابع زیر دارای دو پارامتر ورودی میباشد :

1-نام کنترل 2- زمان به میلی ثانیه

پارامتر اولیک رشته است که شامل id کنترل برای تگ html ما میتوانیم یک id پاس بدیم یا جند id به شکل زیر:

1. ControlOne.ClientID
2. ControlOne.ClientID + ","+ControlTwo.ClientID +", " + ControlThree.ClientID + …

در پارامتر دوم باید زمان رابه میلی ثانیه تنظیم کنیم این زمان مدت مخفی شدن کنترل می باشد

function HideCtrl(ctrl, timer) {
    var ctry_array = ctrl.split(",");
    var num = 0, arr_length = ctry_array.length;
    while (num < arr_length) {
        if (document.getElementById(ctry_array[num])) {
            setTimeout('document.getElementById("' + ctry_array[num] + '").style.display = "none";', timer);
        }
        num += 1;
    }
    return false;
}

در صفحه defualt خود در حالت سورس کد زیر را بنویسید:

<div style="width: 90%;">

    <div style="background:#CCCFFF;padding:5px 0 6px 10px">Guess the number game</div>

    <div style="border:solid 1px #919191;padding:0 0 20px;min-height:100px;">

    <asp:Label ID="Label1" runat="server" Text="Enter a number between 1 and 5"></asp:Label>

    &nbsp;<asp:TextBox ID="txtAns" runat="server" Width="30px"></asp:TextBox>

    <asp:RequiredFieldValidator ID="RequiredFieldValidator1"

            runat="server" ErrorMessage="*" Display="Dynamic" ControlToValidate="txtAns" />

    <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="(1-5)"

        ControlToValidate="txtAns" Display="Dynamic" MaximumValue="5" Type="Integer"

        MinimumValue="1"></asp:RangeValidator>

        <asp:Button ID="btnExampleOne" runat="server" Text="Submit" /> &nbsp;

        <br /> <br /><asp:Label ID="lblMsg" runat="server" Text=""></asp:Label>

        <div runat="server" visible="false" id="divBallon">

            <asp:Label ID="lblMsg2" runat="server" Text=""></asp:Label>

            <img src="images/ballons-07.gif" alt="ballons" />

        </div>

</div>

حالا باید رویداد کلیک دکمه btnExampleOne را بنویسیم :

void btnExampleOne_Click(object sender, EventArgs e)
{
    Random rand = new Random();
    string strScript = string.Empty;
    int intRndNum = rand.Next(1, 6);
    int intRes = int.Parse(txtAns.Text);
    strScript = "HideCtrl('" + lblMsg.ClientID + "', '3000')";
    if (intRes == intRndNum)
    {
        lblMsg2.Text = "The correct number is: " + intRndNum + ". You entered: " + intRes + ". Good job!";
        lblMsg.Text = string.Empty;
        divBallon.Visible = true;
        //hide the DIV
        strScript = "HideCtrl('" + divBallon.ClientID + "', '3000')";
    }
    else
    {
        divBallon.Visible = false;
        lblMsg.Text = "The correct number is: " + intRndNum + ". You entered: " + intRes + ". Please try again.";
    }
    ScriptManager.RegisterStartupScript(Page, this.GetType(), Guid.NewGuid().ToString(), strScript, true);
}

حالا برنامه رو اجرا کنید

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید