Как назвать Оценку в codebehind?

Почему не D-шина? Это - очень простая система передачи сообщений, которая работает почти на всех платформах и разработана для устойчивости. Это поддерживается в значительной степени каждым языком сценариев в этой точке.

http://freedesktop.org/wiki/Software/dbus

17
задан abatishchev 6 November 2011 в 17:23
поделиться

4 ответа

Eval - это метод на странице (фактически на TemplateControl , что означает, что он также присутствует в UserControl ). Таким образом, вам не нужно передавать какие-либо специальные параметры:

protected string GetImagePath()
{
    //some code
    return "some/logical/path" + Eval("name");
}

Внимание: вы можете вызывать Eval только во время привязки данных, но это неявно так для <% # Eval (...)% > тоже, так что это не должно создавать проблемы.

Если вам нужен реальный объект, к которому вы привязываетесь, используйте GetDataItem () , как Eval (x) в основном означает DataBinder.Eval (GetDataItem (), x) .

15
ответ дан 30 November 2019 в 13:13
поделиться
protected void rProducts_ItemDataBound(object sender, RepeaterItemEventArgs e) {
    if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) {

        Image ProductImage = (Image)e.Item.FindControl("ProductImage");
        ProductImage.ImageUrl = DataBinder.Eval(e.Item.DataItem, "ProductImageUrl");

        // Or strongly typed
        Product product = (Product)e.Item.DataItem;
        ProductImage.ImageUrl = product.ProductImageUrl;
    }
}
4
ответ дан 30 November 2019 в 13:13
поделиться

Другой простой способ сделать это - использовать перегрузку Eval, которая принимает формат, aspx становится следующим:

<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# Eval("name", "some/logical/path/{0}") %>'/>
2
ответ дан 30 November 2019 в 13:13
поделиться

Вы пробовали что-то вроде:

<asp:Image ID="imgLogo" runat="server' ImageUrl='<%# GetImagePath( Convert.ToString( Eval("name") ) ) %>' />

и

protected string GetImagePath( string image )
{
    return "some/logical/path/" + image;
}
4
ответ дан 30 November 2019 в 13:13
поделиться
Другие вопросы по тегам:

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