C#/ASP.NET を使用して、メタデータを使用してラベルとテキスト ボックスのツールヒントを簡単に生成する方法があるかどうか疑問に思っていました。ASP.NET MVC でこれを行う方法に関する多くのリソースを見つけましたが、プレーンな ASP.NET ではありません。さまざまなDisplay
属性を使用してみましDescription
たが、成功しませんでした。これを自動化する簡単な方法はありますか?
たとえば、生成された Web ページで、asp:Label
またはasp:TextBox
に対応する にマウスを置いたときに、「アプリケーションが送信された日付」を表示するには、次のようなコードを使用します。DateSent
public class ProjectMetadata
{
[Required(ErrorMessage = "Enter a date")]
[Description("Date that the application was sent")]
public object DateSent { get; set; }
[Required(ErrorMessage = "Enter a description")]
[StringLength(256, ErrorMessage="Description must be 256 characters or less")]
public object Description { get; set; }
}
[MetadataType(typeof(ProjectMetadata))]
public partial class Project
{
public DateTime DateSent { get; set; }
public string Description { get; set; }
}
編集 現在、ページ上のコントロールを生成するすべての作業をASP.NETに任せていることに注意してください(コードビハインドでは何も行われません):
<asp:TextBox ID="tbDateSent" runat="server" Text='<%# Bind("DateSent", "{0:d}") %>'/>
<asp:Label ID="LabelDateSent" runat="server" Text='<%# Eval("DateSent", "{0:d}") %>'/>
おそらく、これは次のようなものを追加する必要がある場所ToolTip='<%# SomeExpressionHere %>'
です。