在GridView Dataview中打开新的动态窗口



i有一个gridview(称为grdsearchResults),其中包含到PDF的链接。PDF URL从数据库返回,但我不确定如何将URL添加到GridView中的ImageButton控件中。

这是我的CodeBehind:

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>  

,但这会引起错误("服务器标签的形成不好")任何想法如何修复?谢谢

我假设您要调用JavaScript函数OnClientClick。但是您还没有向我们展示,所以很难提供帮助。

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

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");
    }
}

您的OnClientClick应该在ofter

中使用单个报价
OnClientClick='<%# Container.DataItem("DownloadUrl") %>'

,图像可以是

<asp:Image runat="server" ID="x" ImageUrl='<%# String.Format("~/{0}", Eval("ImageUrl")) %>' />

相关内容

  • 没有找到相关文章

最新更新