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;
},
答案 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>