Note the MM-mm is case sensitive. You are getting minutes not Months.
>> Can I code the DateLabel_load directly behind the <a href="http...> without using the user control?
Sure.
>>I have used Visual Baisc for my aspx web site. Adding user controls with C# should be okay. Am I correct?
Try it and see :)
By the way, I forgot to expose properties you can set in the properties window:
<%-- HyperLinkWithDate.ascx--%>
<%@ Control Language="C#" ClassName="HyperLinkWithDate" %>
<script runat="server">
// ---- DateLabel_Load -------------------------------
//
// get the file date of the file in the hyperlink and
// display it.
protected void DateLabel_Load(object sender, EventArgs e)
{
DateTime FileDate;
// assumes NavigateUrl is of form ~\MyFile.aspx
FileDate = System.IO.File.GetLastWriteTime(Server.MapPath(HyperLink.NavigateUrl));
DateLabel.Text = FileDate.ToString(": d-M-yyyy");
}
public String NavigateUrl
{
get { return HyperLink.NavigateUrl; }
set { HyperLink.NavigateUrl = value;}
}
public String HyperLinkText
{
get { return HyperLink.Text; }
set { HyperLink.Text=value;}
}
</script>
<asp:HyperLink ID="HyperLink" runat="server" NavigateUrl="~/Default2.aspx" >Default2.aspx</asp:HyperLink>
<asp:Label ID="DateLabel" runat="server" Text="Label" OnLoad="DateLabel_Load" ></asp:Label>
Now the usage is:
<uc1:HyperLinkWithDate ID="HyperLinkWithDate1" runat="server" HyperLinkText="Default1.aspx" NavigateUrl="~\Default1.aspx" />
<uc1:HyperLinkWithDate ID="HyperLinkWithDate2" runat="server" HyperLinkText="Default2.aspx" NavigateUrl="~\Default2.aspx"/>