ASP.NET: Что делает '#' запуск средний <% %>?

Вы используете право JAXB 2.0? (начиная с JDK6)

существует класс:

javax.xml.bind.annotation.adapters.XmlAdapter<ValueType,BoundType>

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

public abstract BoundType unmarshal(ValueType v) throws Exception;
public abstract ValueType marshal(BoundType v) throws Exception;

Пример:

public class YourNiceAdapter
        extends XmlAdapter<ReceiverPerson,Person>{

    @Override public Person unmarshal(ReceiverPerson v){
        return v;
    }
    @Override public ReceiverPerson marshal(Person v){
        return new ReceiverPerson(v); // you must provide such c-tor
    }
}

Использование сделано как следующее:

@Your_favorite_JAXB_Annotations_Go_Here
class SomeClass{
    @XmlJavaTypeAdapter(YourNiceAdapter.class)
    Person hello; // field to unmarshal
}

я вполне уверен, при помощи этого понятия, которое можно управлять процессом маршалинга/немаршалинга собой (включая выбор корректное [sub|super] тип для построения).

7
задан Madi D. 30 September 2009 в 09:08
поделиться

4 ответа

Это означает, что вы связываете выражение так, как вы продемонстрировали eval или bind.

Синтаксис привязки данных

Выражения привязки данных содержатся в разделителях <% # и%> и используют функции Eval и Bind. Функция Eval используется для определения односторонней привязки (только для чтения). Функция Bind используется для двусторонней (обновляемой) привязки. Помимо вызова методов Eval и Bind для выполнения привязки данных в выражении привязки данных, вы можете вызвать любой общедоступный код в пределах разделителей <% # и%> для выполнения этого кода и возврата значения во время обработки страницы.

12
ответ дан 6 December 2019 в 06:37
поделиться

просто чтобы добавить ...

у вас также есть:

$

позволяет вам привязать ресурс, например:

<%$ Resources:Menu, oktext %>

=

самый известный связующий знак , давайте сделаем то же самое, что и метод Response.Write

<%= myVariable %> instead <% Response.Write(myvariable) %>
8
ответ дан 6 December 2019 в 06:37
поделиться

Новым в .NET 4.0 является

:

, который похож на <% =%> , но HTML кодирует ваш вывод. Он используется как:

<%: Model.Name %>

И это похоже на вызов

<%= HttpServerUtility.HtmlEncode(Model.Name) %>  .. or ..
<% Response.Write(HttpServerUtility.HtmlEncode(Model.Name)) %>
5
ответ дан 6 December 2019 в 06:37
поделиться

вот примечание к $

<%$ prefix:value %>

Он создает построитель выражений на основе префикса и передает значение построителю выражений для оценки. Затем построитель выражений возвращает запрошенное значение на страницу

. Примером может служить ASP.NET 4 Routing:

<%$ RouteUrl:RouteName=ProductList %>

, который оценивает маршрут 'ProductList', который должен быть в RouteTable.Routes.

Маршрут можно добавить в RouteTable, например, в Global.asax.cs:

RouteTable.Routes.Add( "ProductList", new Route( "products", new PageRouteHandler("~/ProductList.aspx")
));

Преимущество использования $ и RouteUrl состоит в том, что вы можете хранить всю свою маршрутизацию и URL-адреса в одном месте в Global.asax. cs.

Здесь есть дополнительная информация о $:

http://www.beansoftware.com/ASP.NET-Tutorials/Expression-Builder.aspx

2
ответ дан 6 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: