PDA

View Full Version : محدود کردن تکست باکس به عدد



omid yeganeh
پنج شنبه 20 شهریور 1393, 21:53 عصر
سلام دوستانیه TextBox و یه Button و یه Label توی پروژم دارم پروژم Asp.Netسی شارپ هستحالا توی رخداد کلیک دکمه چه کد سی شارپی باید بنویسم که وقتی روی دکمه کلیک میکنم اگه کاراکترهای وارد شده داخل تکست باکس 0و1و2و3و4و5و6و7و8و9و. بود که پیغام "کاراکتر صحیح است" را در لیبل نمایش بدهد و اگر غیر از اینا بود پیغام بده "کاراکتر های وارد شده غیر مجاز میباشند"؟شرایط به گونه ایست که نمیتونم از جاوا اسکریپت یا ولیدیشن استفاده کنم، چه کدی باید توی رخداد کلیک دکمه بنویسملطفا راهنمایی کنید مرسی

amir_T_2008
پنج شنبه 20 شهریور 1393, 22:14 عصر
میتونید همین کارو با validation خود asp انجام بدید.

mohammad reza beizavi
پنج شنبه 20 شهریور 1393, 22:22 عصر
درود
چون توی استفاده از validation و javascript محدودیت دارید از این کد می تونید استفاده کنید:
int inputNumber = -1;
int.TryPars(txtNumber.Text,output inputNumber);
if(inputNumber <> -1)
lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text;
else
lblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;


فقط این کد رو توی همین editor نوشتم. مشکلات type . املایی رو چک کنید

omid yeganeh
پنج شنبه 20 شهریور 1393, 22:41 عصر
درودچون توی استفاده از validation و javascript محدودیت دارید از این کد می تونید استفاده کنید:int inputNumber = -1;int.TryPars(txtNumber.Text,output inputNumber);if(inputNumber -1)lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text;elselblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;فقط این کد رو توی همین editor نوشتم. مشکلات type . املایی رو چک کنیدمرسی داداشداداش غلط املایی نداره ولی این خطا رو میدهاین عکسو ببین داداش http://s5.picofile.com/file/8140220600/Screenshot_3_.png

omid yeganeh
پنج شنبه 20 شهریور 1393, 22:43 عصر
میتونید همین کارو با validation خود asp انجام بدید.داداش شرایطم طوریه که نباید از ولیدیشن یا جاوا اسکریپت استفاده کنم

mohammad reza beizavi
پنج شنبه 20 شهریور 1393, 22:53 عصر
ببخشید
من اشتباه نوشتم، این باید درست باشه.
int inputNumber = -1;
int.TryParse(txtNumber.Text, out inputNumber);
if (inputNumber != -1)
lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text;
else
lblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;

فقط از اون نوع double اینجور استفاده کن
double inputNumber = -1;
double.TryParse(txtNumber.Text, out inputNumber);
if (inputNumber != -1)
lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text;
else
lblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;

omid yeganeh
پنج شنبه 20 شهریور 1393, 23:04 عصر
ببخشیدمن اشتباه نوشتم، این باید درست باشه.int inputNumber = -1; int.TryParse(txtNumber.Text, out inputNumber); if (inputNumber != -1) lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text; else lblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;فقط از اون نوع double اینجور استفاده کنdouble inputNumber = -1; double.TryParse(txtNumber.Text, out inputNumber); if (inputNumber != -1) lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text; else lblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;مرسی داداشداداش الان اینو تست کردم چه عدد وارد کنم جه حروف وارد بدنه if میشه و در هر دو حالت پیغام " Your input number is INTEGER " رو میده - من میخوام فقط وقتی عدد وارد میکنم این پیغام رو بده و بجز اعداد و دات هر حرف دیگه ای رو وارد کردم بعد پیغام " Your input number is NOT INTEGER " بده چکارش کنم داداش

mohammad reza beizavi
پنج شنبه 20 شهریور 1393, 23:14 عصر
گفتم Visual studio باز نکنم، الان تست کردم، دیگه درست شد:

int inputNumber = 0;
int.TryParse(txtNumber.Text, out inputNumber);
if (inputNumber != 0)
lblMSG.Text = "Your input number is INTEGER: " + txtNumber.Text;
else
lblMSG.Text = "Your input number is NOT INTEGER: " + txtNumber.Text;

omid yeganeh
پنج شنبه 20 شهریور 1393, 23:23 عصر
مرسی داداش الان درست شد ولی وقتی عدد و حروف رو با هم توی تکست باکس وارد میکنم پیغامر" Your input number is INTEGER " میده در صورتیکه باید پیغام خطا بدهای خدا یعنی مشکلش کجاست :(

mohammad reza beizavi
پنج شنبه 20 شهریور 1393, 23:38 عصر
نه دیگه، تستش کردم اینم کدشه
با این مقایسش کن ببین مشکلش کجاست

omid yeganeh
پنج شنبه 20 شهریور 1393, 23:48 عصر
ممنون داداش الان درست شد دمت گرم داداش

omid yeganeh
جمعه 21 شهریور 1393, 13:23 عصر
ممنون داداش حالا بخوام وقتی روی تکست باکس فوکاس کردم این پیغامی که توی لیبل نمایش داده شده بره یعنی به محض فوکاس گرفتن تکست لیبل خالی شه و وقتی مجددا عدد رو وارد کردم و دکمه رو زدم باز پیغام جدیدی نمایش داده شه؟

mohammad reza beizavi
جمعه 21 شهریور 1393, 13:42 عصر
درود بر شما
برای اینکار باید event مورد نظر رو صدا بزنی و مقدار داخل کنترلت رو خالی کنی. باید اینجور باشه:



<asp:TextBox ID="txtNumber" runat="server" OnFocus="this.value=''"></asp:TextBox>

omid yeganeh
جمعه 21 شهریور 1393, 14:45 عصر
سلام داداشفقط همینو به کنترل اضاف کنم؟

omid yeganeh
جمعه 21 شهریور 1393, 14:49 عصر
داداش اینو اضاف کردم نشد میخوام وقتی فوکاس میگیره پیغام لیبل بره

omid yeganeh
شنبه 22 شهریور 1393, 13:49 عصر
داداش من میخوام وقتی خودم روی تکست باکس فوکاس کردم پیغامی که داره توی لیبل نمایش داده میشه null بشه

amir_T_2008
شنبه 22 شهریور 1393, 17:49 عصر
از این استفاده کنید ببینید مشکلتون حل میشه




<asp:TextBox ID="txtWriter" runat="server" value="نام ..."
onblur="if (this.value=='') this.value='نام ...';"
onfocus="if (this.value=='نام ...') this.value='';" Height="25px"
Width="250px"></asp:TextBox>

mohammad reza beizavi
شنبه 22 شهریور 1393, 18:48 عصر
هنوز درگیر اینکار هستین؟؟؟
ببین نمی تونی برای label این کار رو بکنی، چون با کامپایل شدن تبدیل میشه به span و اون موقه به value دسترسی نداری.
البته اینکه گفتم نمیشه رو اصلاح میکنم، با InnerHTML میشه درستش کرد اما دردسر داره.
با TextBox البته به جای Lable میشه کار کرد.
اگه میخوای تا بگم چکارش کنی.