文本框值在只读时返回null [英] Textbox value returning null when it is in read only

查看:73
本文介绍了文本框值在只读时返回null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过在设计器设置下将文本框更改为只读,
我没有从后面的代码中的文本框中获取值。

对于日期选择器,我使用了附加到TextBox控件的ASP.NET AJAX的Calendar扩展器。在文本框中,我不允许用户直接写任何文本,用户只应从日历中选择日期。
为实现这一点,如果我将文本框设为只读,则在服务器端textbox.text返回空白(空)。





< asp:TextBox ID =txtDOBrunat =serverCssClass =cntls txt txt-calenderMaxLength =10
AutoComplete =offplaceholder = dd-MM-yyyyReadOnly =True>< / asp:TextBox>

< asp:FilteredTextBoxExtender ID =txtDOB_FilteredTextBoxExtenderrunat =serverValidChars = - /
FilterMode =ValidCharsFilterType =Custom,Numbers,LowercaseLetters,UppercaseLetters
TargetControlID =txtDOB>
< / asp:FilteredTextBoxExtender>

< asp:CalendarExtender ID =ceDOBrunat =serverFormat =dd-MM-yyyyTargetControlID =txtDOB
PopupButtonID =txtDOBClearTime =true />

< asp:RequiredFieldValidator ID =RequiredFieldValidator3runat =serverControlToValidate =txtFirstNameSetFocusOnError =trueDisplay =NoneErrorMessage =输入出生日期ValidationGroup =vgStud >< / ASP:RequiredFieldValidator的>

< asp:ValidatorCalloutExtender ID =RequiredFieldValidator3_ValidatorCalloutExtender
runat =serverTargetControlID =RequiredFieldValidator3>
< / asp:ValidatorCalloutExtender>

解决方案

您是禁用它还是将其设置为只读。有两种方法可以做到这一点,其中一个有这个问题。



如果我没有弄错属性启用将其设为只读并将其灰显。 (并且还返回null)并且只读选项只会使它成为那样。然后必须手动完成它。



(PS:可能反过来,已经有一段时间了)


你好 - 为防止用户在文本框上输入,请尝试以下操作:





在页面上添加图像按钮(在文本框之后):

 <   asp:ImageButton     ID   =  ibtnDOB    runat   =  server    ImageUrl   = 〜/ Images / btncalendar.png   < span class =code-attribute>高度  =   25   宽度 < span class =code-keyword> =  23    AlternateText   = 选择日期    /  >  





修改您的日历控件以使用图像按钮:

 <   asp:CalendarExtender     ID   =  ceDOB    runat   =  server   格式  =  dd-MM-yyyy    TargetControlID   =  txtDOB  
PopupButtonID = ibtnDOB ClearTime = true / >





将文本框更改为:

< pre lang =HTML> < asp:Textbox ID = txtDOB < span class =code-attribute> runat = server cssclass = cntls txt txt-calender maxlength = 10 自动完成 = off 占位符 = dd-MM-yyyy onfocu s = this.blur(); > < / asp:Textbox >





希望有所帮助。


你好,

只需从文本框中删除只读并设置

 onfocus =   this.blur(); 



。我的要求与此类似。我累了它通过设置onfocus =this.blur();。它对我有用。

我建议你在文本框中添加工具提示,以便用户完全理解。



希望它能帮到你。


By changing textbox to read-only at the designer setting as below, 
i am not getting value from the textbox in the code behind.

For date picker I have used ASP.NET AJAX 's Calendar extender that is attached to TextBox control. And in the  textbox I am not allowing the user to directly write any text, user should only select date from Calendar. 
For achieving this, if I make textbox read-only then at the server side textbox.text is returning  blank(empty).



<asp:TextBox ID="txtDOB" runat="server" CssClass="cntls txt txt-calender" MaxLength="10"
 AutoComplete="off" placeholder="dd-MM-yyyy" ReadOnly="True"></asp:TextBox>

<asp:FilteredTextBoxExtender ID="txtDOB_FilteredTextBoxExtender" runat="server" ValidChars="-/"
 FilterMode="ValidChars" FilterType="Custom,Numbers,LowercaseLetters,UppercaseLetters"
 TargetControlID="txtDOB">
 </asp:FilteredTextBoxExtender>

 <asp:CalendarExtender ID="ceDOB" runat="server" Format="dd-MM-yyyy" TargetControlID="txtDOB"
  PopupButtonID="txtDOB" ClearTime="true" />

 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtFirstName" SetFocusOnError="true" Display="None" ErrorMessage="Enter Date of Birth" ValidationGroup="vgStud"></asp:RequiredFieldValidator>

<asp:ValidatorCalloutExtender ID="RequiredFieldValidator3_ValidatorCalloutExtender"
runat="server" TargetControlID="RequiredFieldValidator3">
 </asp:ValidatorCalloutExtender>

解决方案

Do you disable it, or make it read-only. There are two ways to do that and one of them has this issue.

If I'm not mistaken the property Enable makes it read-only and grays it out. (and also returns null) and the option read-only only makes it just that. Graying it out must then be done manually.

(PS: could be vice versa, it's been a while)


Hi - to prevent user input on textboxes try the following:


Add an imagebutton to you page(after the textbox):

<asp:ImageButton ID="ibtnDOB" runat="server" ImageUrl="~/Images/btncalendar.png" Height="25" Width="23" AlternateText="Select A Date" />



Modify your Calendar control to use the image button:

<asp:CalendarExtender ID="ceDOB" runat="server" Format="dd-MM-yyyy" TargetControlID="txtDOB"
 PopupButtonID="ibtnDOB" ClearTime="true" />



Change your textbox to:

<asp:Textbox ID="txtDOB" runat="server" cssclass="cntls txt txt-calender" maxlength="10" AutoComplete="off" placeholder="dd-MM-yyyy" onfocus="this.blur();"></asp:Textbox>



Hope it helps.


Hello ,
Just Remove the Read Only FromThe Textbox and set

onfocus="this.blur();"


.I have a Requirement similar to this. I Tired it By setting onfocus="this.blur();". It worked for me.
I suggest you to add a ToolTip to textbox for User to get complete Understand.

Hope It Helps You.


这篇关于文本框值在只读时返回null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆