Masking a bound datetime in FormView C#

Posted on 2011-02-17
Last Modified: 2013-12-17
Is there a way of changing this:

<%#Bind("DateTime") %> so that what is displayed is either the date dd/mm/yyyy or time hh:mm (no seconds)

I have a JQuery function on other pages which is great but my edit page uses a FormView which blocks the JQuery from seeing the controls inside...see my other question on this:
So is there another way of achieving a masked date & time for edit purposes?
Question by:forsters
  • 6
  • 5
LVL 14

Expert Comment

ID: 34922187
I haven't done anything with JQuery, but the following should work

<%# FormatDateTime(Bind("DateTime"), [format]) %>

Open in new window

You can see different formats at

You could also use

<%# CType(Bind("DateTime"), DateTime).ToString([format]) %>

See all or at least a lot of the formats at

Author Comment

ID: 34924743
Hi thanks for the reply,

That to me looks like VB code, it's exactly what I want but I need it in C# equivalent.
LVL 14

Expert Comment

ID: 34926205
Sorry, I tend to think in VB. On my mobile phone, so can't do as much but check out and let me know if you need more info.

Author Comment

ID: 34926461
No worries, just grateful for the help, frustrating how such tiny details can have you stumped for days.

thanks for the link, I found that in google too and thought I was onto something but because i'm trying to format a bound textbox it errored on the Bind.

This is what I tried - I may have just got the syntax a bit messed up?

 <asp:TextBox ID="TxtDeadlineTime" Text='<%#DateTime.Parse(Bind("DeadlineTime").ToString("T")) %>' runat="server"/>

if you can help anymore i'd really appreciate it when you get a chance.

LVL 14

Expert Comment

ID: 34930393
I believe the syntax should be

<asp:TextBox ID="TxtDeadlineTime" Text='<%#DateTime.Parse(Bind("DeadlineTime")).ToString("T") %>' runat="server"/>

Open in new window

Looks like a misplaced closing parenthesis. I also found the following format that could help

<asp:TextBox ID="TxtDeadlineTime" Text='<%#Bind("WOTime").ToString("hh:mm tt")%>' runat="server"></asp:TextBox>

Open in new window

Found that at For the hh:mm tt part, you'd use the formats found at
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

LVL 14

Expert Comment

ID: 34930403
Realized I made a mistake in my second code sample. It should say Bind("DeadlineTime") not Bind("WOTime"). Just the field name and figured you'd probably catch it, but I tried to make it as copy and paste friendly as possible.

Author Comment

ID: 34932400
Hi thank you I will try both - think I may have tried shifting the parenthesis but I will try again just in case I did something silly (high possibility).
Thanks for this will report back.

Author Comment

ID: 34941744
D'oh neither work, on the first one I get:

"The name 'Bind' does not exist in the current context"

the second one I get an error:

" A call to Bind was not well formatted.  Please refer to documentation for the correct parameters to Bind"

Any more ideas, it seems such a basic requirement I can't believe there isn't a way of doing it in C#, someone has suggested a way of getting the JQuery code to work so i'll see if that delivers any joy but it would be nice to get both methods working...don't like to let the machines win!
LVL 14

Accepted Solution

quizwedge earned 500 total points
ID: 34945301
You're making me actually have to dig in and do some research and testing on this one instead of just going from memory. ;) Looks like it is simple, I just had the wrong syntax for this particular case. The code you're looking for is

<%# Bind("DateTime", "{0:dd/MM/yyyy hh:mm}") %>

Open in new window


Author Comment

ID: 34950428
Haha always good to know us newbs are making the pros work a little.

Well you'll be chuffed to know that's nailed it thank you very much and for anyone else out there this is what I now have:
<asp:TextBox ID="TxtDeadlineDate" Text='<%# Bind("DeadlineDate", "{0:dd/MM/yyyy}") %>' runat="server"/>
which displays in my textbox as: 12/04/2011
<asp:TextBox ID="TxtDeadlineTime" Text='<%# Bind("DeadlineTime", "{0:hh:mm}") %>' runat="server"/>
which displays in mytextbox as: 12:00

Perfect thank you so much you've been a complete star!

Author Closing Comment

ID: 34950431
spot on thank you!

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Convert string to date 3 40
Form design in 7 18
Achieve json result 2 32
Cannot upload files above 1mb IIS7 11 12
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video discusses moving either the default database or any database to a new volume.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now