返回的数据不会输出到我的文本框

时间:2011-11-24 11:02:45

标签: c# jquery ajax

                lstNominalAccounts = NominalAccount.FindUserNominalAccounts(
                    basePage.CurrentSageDatabase,
                    searchText, 
                    basePage.CurrentUser.UserID );

                foreach (NominalAccount oNominal in lstNominalAccounts)
                {
                    strBuilder.Append(oNominal.AccountName + " " + oNominal.AccountNumber + " " + oNominal.CostCentre + " " + oNominal.Department + ":");
                }
                 strBuilder = strBuilder.Remove(strBuilder.Length -1,1);

                 return strBuilder.ToString();



//When i hover over the returned strBuilder it shows the record that ive typed in for //autocomplete but it wont output to my textbox(#tbNominalAccounts)


//this is my success statement on my ajax autocomplete if that helps also

success: function (data) {
                        var datafromServer = data.d.split(":");
                        source: datafromServer;
                    },

1 个答案:

答案 0 :(得分:0)

在你的评论中,你说你得到一个例外,因为你超过了JavascriptSerializer.maxJsonLength财产的价值。

有关该属性的文档,请参阅msdn

您可以在Web.config中更改该值,但我建议您检查是否可以减少发送的数据量,因为maxJsonLength默认为4MB,这对于Web应用程序应该足够大我想:

<configuration> 
   <system.web.extensions>
       <scripting>
           <webServices>
               <jsonSerialization maxJsonLength="50000000"/>
           </webServices>
       </scripting>
   </system.web.extensions>
</configuration> 

修改

关于401的第二个问题 - 未经授权:

使用页面方法时,据我所知,你必须允许访问整个页面。 当您的页面包含经过身份验证的用户可以使用的其他方法或代码时,您可以将页面方法移动到另一个页面或创建asmx Web服务。

您可以修改您的Web.Config以在<location>下添加configuration代码:

<location path="Datenschutz.aspx">
  <system.web>
    <authorization>
      <allow users="?" />
    </authorization>
  </system.web>
</location>