0

我有一个包含 pdf 链接的 gridview(称为 grdSearchResults)。pdf url 是从数据库返回的,但我不确定如何将 url 添加到 gridview 中的 imagebutton 控件。

这是我的代码隐藏:

List<SearchResults> search = _searchRepository.GetFactFileSearchResults(results);
        grdSearchResults.DataSource = search;
        grdSearchResults.DataBind();

这是我的 aspx 页面代码:

<asp:TemplateField HeaderText="FILE TYPE" ItemStyle-HorizontalAlign="Center">  
            <ItemTemplate>  
                &nbsp;<asp:ImageButton runat="server" ID="_imgbtnPreview" OnClientClick="<%# Container.DataItem("DownloadUrl") %>" ImageUrl="~/images/fileType_pdf.png" /> 
            </ItemTemplate>  

但这会引发错误(“服务器标签格式不正确”)知道如何解决这个问题吗?谢谢

4

2 回答 2

2

我假设你想调用一个 javascript 函数OnClientClick。但是你没有向我们展示它,所以很难提供帮助。

您还可以设置ImageButton's ImageUrlin RowDataBound(我通常更喜欢):

protected void grdSearchResults_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView rv = (DataRowView) row.DataItem;
        ImageButton imgbtnPreview = (ImageButton)e.Row.FindControl("_imgbtnPreview");
        imgbtnPreview.ImageUrl = rv.Row.Field<String>("DownloadUrl");
    }
}
于 2012-10-17T08:05:54.733 回答
1

您的 OnClientClick 应该在外部使用单引号

OnClientClick='<%# Container.DataItem("DownloadUrl") %>'

而且图像可以

<asp:Image runat="server" ID="x" ImageUrl='<%# String.Format("~/{0}", Eval("ImageUrl")) %>' />
于 2012-10-17T08:01:01.497 回答