2010-02-02 8 views
0

Следующий код должен связывать свойство «значение» текстового поля со строкой «Тест».Ошибка привязки к значению свойства текстового поля в бета-версии шаблонов клиентов Microsoft AJAX

Вместо этого выражение привязки «{{test}}» остается нераскрытым как содержимое текстового поля. Однако выражение привязки в элементе sibling корректно анализируется.

<html> 
<head> 
    <title></title> 
    <style type="text/css"> 
     .sys-template { display:none; } 
    </style> 
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/beta/0911/MicrosoftAjax.debug.js"></script> 
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/beta/0911/MicrosoftAjaxTemplates.debug.js"></script> 
</head> 
<body xmlns:sys="javascript:Sys" 
     xmlns:dataview="javascript:Sys.UI.DataView" 
     sys:activate="bindingTest"> 
     <div id="bindingTest" class="sys-template" 
      sys:attach="dataview" 
      dataview:data="{{ { test : 'Test' } }}"> 
       <input type="text" value="{{test}}" /> 
       should contain: <span>{{test}}</span> 
     </div> 
</body> 
</html> 

Этот же код работает, связываясь с соответствующими сценариев в ASP.NET AJAX Preview 4 выпуска (больше не доступна на CodePlex, насколько я могу судить, но содержащиеся в образце ZIP на this пост).

Это регресс, или я что-то упускаю?

ответ

0

я обнаружил, что квалифицировать атрибут значение с sys: пространства имен обеспечивает связывание для правильной работы:

<input type="text" sys:value="{{test}}" /> 

Это было сделано изменение в ASP.NET AJAX 4.0 Предварительный просмотр 5: http://weblogs.asp.net/fredriknormen/archive/2009/09/11/asp-net-ajax-4-0-preview-5-available.aspx