0

我有一个标签控件。第一个选项卡有一个网格,其中一列是一个复选框。用户选择它并单击选项卡下的“下一步”,然后转到下一个选项卡。

我正在使用网络参考来获取值。当页面第一次加载时,参考有效并且可以达到值,网格被绑定。

但是当我单击“下一步”时,会发生回发并尝试再次绑定网格,然后引用给出“SoapExpection”。以下是详细信息:

-> 我选择一行然后点击“下一步”:

protected void gridView_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
        {
            if (e.RowType == GridViewRowType.Data)
            {
                   //bla bla bla
                   //I get the error here:
                   ClassEntity tmpObjects = webService.callObjects(rowID);
                   //bla bla bla
            {
        {

-> 以及名为 callObjects(int ID) 的函数(在 Reference.cs 中)

[System.Web.Services.Protocols.SoapDocumentMethodAttribute("...", RequestNamespace="...", ResponseNamespace="...", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public ClassEntity callObjects(int ID) {
            object[] results = this.Invoke("callObjects", new object[] {
                        ID});
            return ((ClassEntity)(results[0]));

确切的错误:“SoapException:服务器无法处理请求。对象引用未设置为对象的实例”

任何想法、建议或...解决方案?提前致谢。

4

1 回答 1

1

我使用用户名和密码来访问从 System.Web.Services.Protocols.SoapHeader 继承的类中的 Web 引用。

我在 Page_Load 中定义了用户名和密码,但在我单击“下一步”后似乎正在清除这些值。所以我在 gridView_HtmlRowCreated 事件下做了同样的声明,它起作用了。

希望对像我这样的人有所帮助。

于 2011-07-13T14:39:13.203 回答