ASP.NET MVC - текстовый атрибут флажка - PullRequest
0 голосов
/ 21 мая 2009

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

У меня что-то вроде этого:

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

Проблема в том, что Html.Encode (item.nome) отображается в виде обычного текста, и если я не использую кавычки, я получаю ошибку.

Ответы [ 3 ]

8 голосов
/ 21 мая 2009

Либо используйте помощник Html.CheckBox.

<%= Html.CheckBox( "CheckBox1", true ) %> <%= Html.Encode(Item.none) %>
3 голосов
/ 21 мая 2009

Не используйте элемент управления <asp:CheckBox> - создайте стандартный флажок html:

<input type="checkbox" name="cb" checked="checked"><%= Html.Encode(item.nome) %></input>
1 голос
/ 21 мая 2009

Нельзя смешивать управляющие теги 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 для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...