غیر فعال کردن دکمه در زمان postback صفحه در asp.net
چهارشنبه 1 بهمن 1393در این مقاله میخواهیم درasp.net زمانی که صفحه پست بک میشود دکمه رو غیرفعال کنیم
دراین مقاله می خواهیم در زمان پست بک صفحه دکمه غیر فعال شود و متن دکمه در این زمان تغییر کند
ابتدا یک پروژه جدید از نوع وب بسازید سپس یک صفحه جدید به آن اضافه کنید سپس کد زیر را در صفحه جدید خود بنویسید:
function ResetToDefault(btn, oldValue) { btn.disabled = false; btn.value = oldValue; } //browser properties var Browser = { Version: function() { var version = 999; if (navigator.appVersion.indexOf("MSIE") != -1) { version = parseFloat(navigator.appVersion.split("MSIE")[1]); return version; } }, Name: navigator.appName, isIE: function() { if (navigator.appVersion.indexOf("MSIE") != -1) { return true; } return false; } }; //Handle Page_Validators is not defined error //http://www.velocityreviews.com/forums/t88987-pagevalidators-error.html function HasPageValidators() { var hasValidators = false; try { if (Page_Validators.length > 0) { hasValidators = true; } } catch (error) { } return hasValidators; } function SetImage(btn) { if (btn.type == "image") { btn.src = null; btn.style.width = '100px'; btn.style.height = '20px'; btn.style.backgroundImage = 'url(http://images.ysatech.com/ajax-loader.gif)'; } else { //somehow backgroundImage not working with IE 7 if (Browser.isIE() && Browser.Version() === 7) { btn.style.background = 'url(http://images.ysatech.com/ajax-loader.gif)'; } else { btn.style.backgroundImage = 'url(http://images.ysatech.com/ajax-loader.gif)'; } } } //enable the button and restore the original text value for browsers other than IE function EnableOnUnload(btn, btnText) { if (!Browser.isIE()) { window.onunload = function() { ResetToDefault(btn, btnText); }; } } //check if the validator have any control to validate function EnableValidator(validator) { var controlToValidate = document.getElementById(validator.controltovalidate); if (controlToValidate !== null) { // alert(controlToValidate.id); ValidatorEnable(validator); return true; } ValidatorEnable(validator, false); return false; } function disableBtn(btnID, newText) { var btn = document.getElementById(btnID); var oldValue = btn.value; btn.disabled = true; btn.value = newText; //if validator control present if (HasPageValidators()) { Page_IsValid = null; //http://sandblogaspnet.blogspot.com/2009/04/calling-validator-controls-from.html //double check, if validator not null if (Page_Validators !== 'undefined' && Page_Validators !== null) { //Looping through the whole validation collection. for (var i = 0; i < Page_Validators.length; i++) { var validator = Page_Validators[i]; //check if control to validate is enable if (EnableValidator(validator)) { if (!Page_Validators[i].isvalid) { //if not valid ResetToDefault(btn, oldValue); //break; } } } // else { //if valid var isValidationOk = Page_IsValid; alert('isValidationOk ' + isValidationOk); EnableOnUnload(btn, btn.value); if (isValidationOk !== null) { if (isValidationOk) { SetImage(btn); __doPostBack(btnID, ''); // break; } else { //page not valid btn.disabled = false; } } // } } } else { //regular, no validation control present // setTimeout("SetImage('" + btn + "')", 5); SetImage(btn); btn.disabled = true; btn.value = newText; EnableOnUnload(btn, btn.value); } } //disable those validators where controltovalidate = null function DisableValidators() { //this will get rid of the Page_Validators is undefined error if (typeof (Page_Validators) === 'undefined') return; if (Page_Validators !== 'undefined' && Page_Validators !== null) { for (var i = 0; i < Page_Validators.length; i++) { var validator2 = Page_Validators[i]; var controlToValidate2 = document.getElementById(validator2.controltovalidate); if (controlToValidate2 === null) { ValidatorEnable(validator2, false); } } } return false; } window.onload = DisableValidators;
ودر aspx.cs :
protected void btnOne_Click(object sender, EventArgs e) { Thread.Sleep(2000); Label3.Text = sb.ToString(); }
حالا میتونید برنامه را اجرا کنید:
- ASP.net
- 3k بازدید
- 3 تشکر