2011-08-02 41 views
1

我是很新,与Telerik控制工作,我已经收到了关于这对Telerik的论坛零回应,但朋友推荐#1,所以我希望有人可以提供帮助。BLOB检索的radgrid控件

总之,我是谁目前正在制定中的DotNetNuke应用模块的.NET程序员。对于我目前正在使用的模块,我正在Telerik RadGrid中显示数据。我的一个列包含单击时需要运行从我的数据库中检索BLOB和打开PDF文件的功能一个LinkBut​​ton。

我得使用一个GridView一个.NET测试环境中这方面的工作。下面是我的OnClick事件代码:

public void lnkWebFileName_Click(object sender, EventArgs e) 
{ 
    Label lblWebFileNameNew = (Label)((Control)sender).NamingContainer.FindControl 
    ("lblWebFileName"); 
    string webfilename = lblWebFileNameNew.Text.ToString(); 
    BlobRetrieval.WriteDocumentWithStreaming(webfilename); 
} 

我还没有为WriteDocumentWithStreaming的代码,因为在.NET这就像一个魅力,让我知道我的检索代码工作。

试图让这个通过我的radgrid控件的工作,但是,是另外一个问题。出于测试目的,我用下面的代码,以确保我得到webfilename值,然后我改变按钮上的文字:

public void lnkWebFileName_Click(object sender, EventArgs e) 
{ 
    Label lblWebFileNameNew = (Label)((Control)sender).NamingContainer.FindControl 
    ("lblWebFileName"); 
    LinkButton lnkBtn = (LinkButton)((Control)sender).NamingContainer.FindControl 
    ("lnkWebFileName"); 
    string webfilename = lblWebFileNameNew.Text.ToString(); 
    lnkBtn.Text = webfilename; 
} 

完美的作品!问题是当我添加:

BlobRetrieval.WriteDocumentWithStreaming(webfilename); 

要尝试显示PDF文件,它什么都不做。我查了DNN的事件查看器,唯一的错误消息,我得到的是:

System.Exception: Unhandled Error 

没有任何人有任何想法做检索,并通过radgrid控件显示一个BLOB什么?我是否必须对现有代码做一些特别的事情,或者在RadGrid中需要做些什么?

有人请帮助摆脱这种头痛。谢谢!

MKDnn

回答

1

我首先想到的是Telerik的和/或DNN将要使用部分回发(UpdatePanel的),那么你可以尝试使用脚本管理器注册您的了LinkBut​​ton,以避免他们,试着做部分回传(当您需要将文件发送到客户端时,这将不起作用)。您可以通过DotNetNuke.Framework.AJAX.RegisterPostBackControl在DNN中完成此操作。

您也可以尝试在try/catch区块中包装事件处理程序,并致电DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException以获取有关事件日志中的异常的更多详细信息。