2013-04-07 2 views
0

У меня есть PHP-фон, и я пытаюсь изучить .NET. Мне интересно о привязке данных.Использование свойств объекта в выражениях?

Если у меня есть следующий класс:

public class Test 
{ 
    public string name; 
    public string testnaam; 

} 

Test nat = new Test(); 
nat.name = "blaat"; 
nat.testnaam = "blaat2"; 

Почему я не могу это сделать (или что-то вроде этого):

<asp:Button ID="Button1" runat="server" Text="<% nat.name %>" /> 

я делаю что-то не так? Или невозможно использовать свойства объекта, подобные этому?

ответ

0

Вы должны использовать кнопки на стороне клиента, то есть

<input type="button" value="<%= buttonText %>" /> 

Затем объявить публичную переменную в вашей стороне сервера код

public string buttonText = "This is my button text"; 

То же самое относится и к объекту, пока это общественное и создаются правильно. Убедитесь, что переменная определяется как общественное, а затем создать его экземпляр в вашем Page_Load:

person = new Person { FirstName = "Joe", Surname = "Bloggs" }; 

И в разметке:

<input type="button" value="<%= person.FirstName %>" /> 
+0

Но это работает только тогда, когда это свойство класса страницы? Не могу ли я использовать свойства отдельного класса? Как 'Test', но в пространстве имен приложений? – MartinH

+0

Я думаю, что понимаю, но я все еще получаю сообщение об ошибке: '' после этого в page_load: 'Test nat = new Test(); 'С тем же классом' Test', что и выше, с 'public string name =" test "'; – MartinH

+0

Можете ли вы опубликовать свою функцию page_load и объявление переменной, чтобы я мог взглянуть? Если вы объявляете 'Test nat = new Test();' в вашей page_load, то проблема заключается в области вашей переменной, т. Е. Эта переменная существует только в области вашей функции page_load, а не самой страницы.Вам необходимо объявить это следующим образом: \t 'public Test nat; protected void page_load (...) {nat = new Test {name = "blaat", testnaam = "blaat2"}; } ' – Crwydryn

1

Проблема с:

<asp:Button ID="Button1" runat="server" Text="<% nat.name %>" /> 

Это asp:Button является стороне сервера управления и <%%> расширяться <script runat="server"></script>. Это недействительно.

+0

Оке, но если я использую: « '? – MartinH

+0

@MartinH - Конечно, если существует свойство или поле 'nat', которое было правильно инициализировано. – Oded

+0

Я создал экземпляр класса в классе Page_Load, но я все еще получаю исключение: только назначение, вызов, приращение, декремент, ожидание и новые объектные выражения могут использоваться как оператор – MartinH

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