2009-05-21 17 views
0

ループ内にいくつかのチェックボックスを描画していて、ループを使用して反復処理しているオブジェクトに基づいてテキスト属性を設定したいとします。ASP.NET MVC - チェックボックスのテキスト属性

私はこのような何かしました:問題はHtml.Encode(item.nome)が表示されていることである

<asp:CheckBox ID=チェック "CheckBox1を" runat= "サーバー" Text=" <%= Html.Encode(item.nome) %>" = "真" />

をプレーンテキストとして私は引用符を使用していない場合、私はエラーが発生します。

+2

この名前を変更してください。ちょっと混乱します。 – MicTech

答えて

8

代わりに、Html.CheckBoxヘルパーを使用しています。

<%= Html.CheckBox("CheckBox1", true) %> <%= Html.Encode(Item.none) %> 
+0

あなたのスタイルが好きです –

3

<asp:CheckBox>コントロールを使用しないでください - 標準のHTMLチェックボックスを作成します。

<input type="checkbox" name="cb" checked="checked"><%= Html.Encode(item.nome) %></input> 
+2

"コントロールを使用しないでください" ... MVCアプリケーションで。 – AaronSieb

+0

もちろん、私はASP.NET MVCに固有の問題だと考えて、理解していると思っていました。 –

1

ASP.NETコントロールタグと<%= %>の構文を混在させることはできません。ここには2つのオプションがあります:

生のHTMLをチェックボックスに使用すると、<%= %>を使用できます。このスタイルは、ASP.NET MVCに適しています。

<input type="checkbox" name="cb" checked="checked"><%= Html.Encode(item.nome) %></input> 

それとも、ASP.NETコントロールに優しいデータバインディング構文を使用することができます。

<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Html.Encode(Container.DataItem, "nome") %>' Checked="true"/> 

しかし、あなたがデータソースコントロールを必要とするデータバインディング構文を使用すると、Repeaterコントロール内であることを。詳細については、ASP.NET data bindingを参照してください。

関連する問題