We recently upgraded to version 8.3 and are experiencing problems with the WebMaskEdit control when used in an UltraWebGrid column and saving data with the RawText Mode. Please note that the same problem does not exist when using the control as a standard input control.
The definition we are using for the control is:
<igtxt:WebMaskEdit id="MaskPhoneNumbers" runat="server"
InputMask="(###) ###-####" Font-Bold="True"
>
When initializing the grid, we have:
grdContacts.Columns.FromKey(
"PhoneNumber").Hidden = false;
"PhoneNumber").HeaderText = "Phone Number";
"PhoneNumber").Type = Infragistics.WebUI.UltraWebGrid.ColumnType.Custom;
"PhoneNumber").EditorControlID = MaskPhoneNumbers.ID;
?MaskPhoneNumbers.RealText
"(40) 7-659"
As such, the RawText value being sent to the database is '407659'. Is there anyway to get the true RawText value? We have tried various approaches and the only method that will work is if we save the literals to the database which we do not want to do.
In version 6.3, this control worked as we needed it to.
Any help with this quirky behavior will be greatly appreciated.
Thanks and have a great day!
Hi,
The RealText property, which appears in aspx, represents value which is sent to client in internal format. It is not related to the string used for get/setValue (used by grid). That property was not designed for public access. If editor is stand alone (not grid editor), then public properties Text and Value should be used.
If data, which are used to initialize editor and get value after end edit mode, contain literal characters, then the DataMode should be set to RawTextWithLiterals, or RawTextWithRequiredPromptsAndLiterals, or AllText depending on requirements of application.
Thanks for your reply. Saving the literals to the database is not what we need which I gather is what would happen if using RawTextWithLiterals. Can we get the raw text by replacing the literals when actually inserting into the database? What would happen when retrieving that value back into the grid with the mask?
For example: Our mask is: (###) ###-#### GridValue: (999) 999-9999 Database value: GridValue.Replace("(","").Replace(")","").Replace(" ","").Replace("-","")
I haven't had the opportunity to test this but would like your opinion on whether or not you think it would work.
The WebMaskEdit has property RawText. That can be used to get/set value without literals regardless of the DataMode value. That is probably what you need.
If you need to process full mask by WebMaskEdit, then you should use property of WebMaskEdit DataMode="AllText". There are several values defined by MaskDataMode enum.
I need to do the opposite of what you show here. How do I do this:
this.WebMaskEdit1.RawText = string rawText;
Yes, conflicts between GAC and run time dlls is "special" feature of dot-net...Glad you fixed that.
I also recommend once in awhile close all instances of VisualStudio and remove all files fromC:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\
Viktor,
after rebooting my workstation the WebMaskEdit is posting back asynchronously each time, not just the first one. Thank you for your support.
the problem is that the async postback fires only once after the page is loaded, the next ones aren't hapenning