2

我正在尝试使用 iTextSharp 库为我们在公司的旧项目生成 PDF,一切正常,除了将 Imports 添加到使用 RadioButtonList 的表单时,它将此 RadioButtonList 视为 iTextSharp 对象而不是System.Web.UI.WebControls 并给我以下错误

重载解析失败,因为无法使用这些参数调用可访问的“添加”:

'Public Sub Add(item As System.Web.UI.WebControls.ListItem)': Value of type 'iTextSharp.text.ListItem' cannot be converted to 'System.Web.UI.WebControls.ListItem'.
'Public Sub Add(item As String)': Value of type 'iTextSharp.text.ListItem' cannot be converted to 'String'

该控件定义如下:

<asp:RadioButtonList ID="rblChargeOrNot" runat="server" AutoPostBack="True" RepeatDirection="Horizontal" Width="60%"></asp:RadioButtonList>

和同样的

 <asp:DropDownList ID="ddlnumber" runat="server"></asp:DropDownList>

使用的技术是 vb.net framework 3.5

4

1 回答 1

4

不,它正在处理您已声明为ListItemasiTestSharp.text.ListItem而不是System.Web.UI.WebControls.ListItem.

您没有显示构造此ListItem对象的代码 - 但您需要完全限定名称,或者考虑更改此类的Imports ,这样它就不会假定您iTextSharp.text.ListItem在声明此对象时的意思。

即你可能有这样的代码:

Import System
Import System.Web.UI
Import iTextSharp.text

...

Dim li as ListItem

请注意,iTextSharp.text命名空间是导入的,但System.Web.UI.WebControls不是。VB 决定该ListItem对象属于iTextSharp.text。如果您已导入System.Web.UI.WebControls,您将收到一条关于该声明不明确的错误消息。您可以使用以下方法修复它:

Dim li as System.Web.UI.WebControls.ListItem
于 2012-09-24T07:40:34.407 回答