ASP.Net Web フォームに RadGrid があります。今、私は AjaxEnabledWCFService を介してクライアント側でこれをバインドしたいと考えています。すべての実装が完了すると、データは応答を介して取得されているように見えますが、グリッドに表示されるのではなく、「メソッドは許可されていません」などのメッセージが表示されます。
このエラーの背後にある実際の理由を見つけることができませんでした.datが入力されていない原因は何ですか.
これが私の実装の詳細です:-私は以下のようにスクリプトマネージャーに特定のサービスを追加しました:-
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/services/CustomerListService.svc" />
</Services>
<Scripts>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
</Scripts>
</telerik:RadScriptManager>
次に、以下のように RadGrid ClientEvents - DataBindings タグにサービスを追加しました:-
<DataBinding SelectMethod="GetCustomers" Location="~/services/CustomerListService.svc"
SortParameterType="Linq" FilterParameterType="Linq">
</DataBinding>
以下のコードのように、注文としてDataContract、GetCustomers()としてServiceContractを持つorderListServiceという名前のサービスがあります:-
元:
[ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class CustomerListService {
[OperationContract]
public List<Customer> GetCustomers()
{
CustomerData CustData = new CustomerData();
System.Data.DataTable dt = CustData.GetCustomersList(1, 1, "");
List<Customer> Customerist = new List<Customer>();//Here Customer is DataContract
foreach (System.Data.DataRow dr in dt.Rows)
{
Customer cust = new Customer();
SetPropertiesFromOrderRow(cust, dr);//set all the property values from DataRow to Order
CustomerList.Add(cust);
}
return CustomerList;
}
}
構成ファイルの設定は次のようになります:-
<endpointBehaviors>
<behavior name="ClientSideBindingTest.services.CustomerListServiceAspNetAjaxBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
<services>
<service name="ClientSideBindingTest.services.CustomerListService">
<endpoint address="" behaviorConfiguration="ClientSideBindingTest.services.CustomerListServiceAspNetAjaxBehavior"
binding="webHttpBinding" contract="ClientSideBindingTest.services.CustomerListService" />
</service>
</services>
ここで提案がある場合はお知らせください。また、提供されたパラメーターに従って値を取得するためにパラメーターをサービスメソッドに渡す方法を知る必要があります。
前もって感謝します。