-
چگونگی تغییر فرمت تاریخ
برای نشان دادن تارخ ثبت اطلاعات از یک بانک اطلاعاتیsqlserver که در یک لیبل نشون داده بشه
من از کد زیر استفاده کردم
</ '<%'(" asp:Label ID="lblDate" runat="server" Text='<%# Eval("regDate >
در خروجی هم زمان نشون داده میشه و هم تاریخ . حالا چطور می تونم فرمت تاریخ و زمان رو عوض کنم ؟ مثلا فقط زمان نشاده شود بدون تاریخ . یعنی چگونه از( ":ToString("HH:mm:ss.در لیبل استفاده کنم ؟
-
سلام
ساده است ...
اگر regDate شما هیچگاه خالی و null نمیتواند باشد ...
کد:
VB.Net or C#.Net
<asp:Label ID="lblDate" runat="server" Text='<%# Convert.ToDateTime(Eval("regDate")).ToString("HH:mm:ss") %>' />
//C#.Net
<asp:Label ID="lblDate" runat="server" Text='<%# ((DateTime)Eval("regDate")).ToString("HH:mm:ss") %>' />
'VB.Net
<asp:Label ID="lblDate" runat="server" Text='<%# CDate(Eval("regDate")).ToString("HH:mm:ss") %>' />
or ...
<asp:Label ID="lblDate" runat="server" Text='<%# DirectCast(Eval("regDate"), Date).ToString("HH:mm:ss") %>' />
==============
ولی اگر regDate برای برخی سطرها بتواند null و خالی هم باشد، کد فوق روی همان سطرها خطا خواهد داد.
بهتر است که یک تابع کوچک مثل این در بخش کدنویسی وارد کنید:
کد:
//C#.Net
protected static string DateToString(object value)
{
if ((value == null) || (value == System.DBNull.Value)) return string.Empty;
try
{
return ((DateTime)value).ToString("HH:mm:ss");
}
catch
{
return string.Empty;
}
}
'VB.Net
Protected Shared Function DateToString(ByVal value As Object) As String
If ((value Is Nothing) OrElse (value Is System.DBNull.Value)) Then Return String.Empty
Try
Return DirectCast(value, Date).ToString("HH:mm:ss") 'or CDate
Catch
Return String.Empty
End Try
End Function
سپس در بخش html کدی مثل این بنویسید:
کد:
VB.Net or C#.Net
<asp:Label ID="lblDate" runat="server" Text='<%# DateToString(Eval("regDate")) %>' />
این کد دیگر در هر شرایطی بدون خطا کار خواهد کرد.
==============
موفق باشید.
-
خیلی ممنون از توضیحات کاملی که دادید