2011-07-29 5 views
0

VB.netの初心者で、asp:Labelコントロールを正しく操作する方法を理解しようとしています。asp:特定のHTMLタグにラベルを付ける

私は、結果があれば、<h1></h1>タグを表示し、そのデータを表示するべきであるというページを持っています。私はコードビハインドモデルを使用していたように、私のユーザーは単に以下の持っている本質的ページが直面している:私のオン

<asp:Label ID="lblMessage" runat="server" 
    Visible="false" /> 

<asp:DataList ID="dlCurriculumLists" runat="server" 
    DataSourceID="sdsCurriculumLists" 
    DataKeyField="Entry No_" 
    RepeatLayout="Flow" 
    Visible="false"> 
    <ItemTemplate> 
      <div> 
       <asp:HyperLink ID="hlCurriculum" runat="server" 
        Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' 
        NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "File Path") %>' 
        ToolTip='<%# DataBinder.Eval(Container.DataItem, "Title") %>' 
        Target="_blank" 
        Style="font-weight: bold;"> 
       </asp:HyperLink> 
      </div> 
    </ItemTemplate> 
</asp:DataList> 

コードビハインドページ、私は、データベースからのデータに基づいてVisible="true"からasp:Labelasp:DataListを設定しました。ここにキャッチがあります - データがある場合、lblMessageをH1に設定し、そうでない場合は標準のラベルテキストに設定します。私はCSSを使って見た目をエミュレートすることができますが、LabelコントロールのHTMLタイプを指定する別の方法(おそらくItemTemplateのコンセプトに似ている)があることを期待していました。

答えて

2

VBの背景から来た人にとっては、任意のテキストを表示する最も基本的なコントロールがラベルであると考えるのはよくある間違いです。

これは正しくありません。ラベルはのラベルの何か、通常は別のUIコントロール(これはAssociatedControlIdのプロパティです)です。

任意のテキストまたはHTMLマークアップを表示したい場合は、代わりにより基本的なものを使用してください。いくつかの例はasp:Literal、asp:プレースホルダまたはasp:Localizeです。

、例えば、ASPを使用:

myLiteral.Text = "<h1>" & Server.HtmlEncode(myHeading) & "</h1>" 
2

私が知る限り、AssociatedControlId属性が設定されている場合、コンポーネントは常に<label> HTMLタグを生成します。

代わりにLiteral Controlを使用し、実行時に希望するHTMLを入力してください。あなたの現在のLabelコントロールを使用して、必要に応じて、この作業をするために何ができる

UPDATE

ことの一つは、H1としてそれをマークラベルのthemeを持つことです。必要に応じて、コントロールEnableThemingのプロパティを切り替えることができます。

+0

ここに私のasp:ラベルコントロールが生成します: 'ここにラベルのテキスト' –

+0

ああ、私が今思い出したようにAssociatedControlIdが指定されていない場合はスパンとして返されます。 –

0

脇すでにここで提案されたものから、あなたはまた、独自のASP.NETを実装することができます:リテラルを使用すると、簡単にコード内の見出しを作成することができ、myLiteralと呼ばれますプロパティの値に応じて、その場でレンダリングを変更します。それはやっているのはかなり楽しく、思うほど難しいことではありません。 http://msdn.microsoft.com/en-us/library/vstudio/zt27tfhy(v=vs.100).aspx