2009-05-21 3 views
0

Я рисую некоторые флажки в цикле, и я хочу установить текстовый атрибут на основе объектов, которые я итерации с циклом.ASP.NET MVC - атрибут текстового поля

Я что-то вроде этого:

<asp:CheckBox ID= "CheckBox1 " runat= "сервер " Text=" <%= Html.Encode(item.nome) %>" Checked = />

является то, что (item.nome) появляется "истинный"

Проблема Html.Encode как обычный текст, и если я не использую кавычки, я получаю сообщение об ошибке.

+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 с помощью синтаксиса <%= %>. У вас есть два варианта:

Используйте необработанный 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 для получения дополнительной информации.

Смежные вопросы