リンクをクリックしたときにユーザー情報を含むポップアップ ウィンドウを表示しようとしていますが、エラーが発生します。これに関連する投稿をいくつか読みましたが、問題を解決できませんでした。コードをご覧ください。
グリッドビューのリンク ボタンから ShowUserPopup を呼び出しています。ShowUserPopup 内で LoadUserDataTable 関数を呼び出してデータを動的 html テーブルにロードし、テーブルを div に追加しましたが、エラーが発生しました (以下の行で考えます)。ブレークポイントに到達したため、サービスが実行されます
success: function (data) {
ここにコードがあります
function ShowUserPopup(UID) {
//$("#divDetails").html(LoadUserDataTable());
LoadUserDataTable();
$("#divDetails").dialog({
width: 600,
});
$(".ui-dialog-titlebar").hide() //Hide Title Bar
$('#divDetails').dialog('open');
return false;
}
function LoadUserDataTable(){
$.ajax(
{
contentType: "application/json; charset=utf-8",
url: "../svc/SearchService.svc/GetUserProfile",
type: "GET",
dataType: "json",
success: function (data) {
$.each(data.GetUserProfileResult, function (value, key) {
table= $('<table></table>');
row = $('<tr></tr>');
$('<td></td>', {
text: 'Name'
}).appendTo(row);
$('<td></td>', {
text: value.FirstName + ' ' + value.LastName
}).appendTo(row);
row.appendTo(table);
//return table;
table.appendTo("#divDetails");
});
},
error: function (result) {
alert("Error");
}
});
}
これは gridview テンプレートのリンク ボタンです
<ItemTemplate>
<a id="cUser" runat="server" href="User Details" onclick ="javascript:ShowUserPopup(1);return false;"><%#Eval("User")%></a>
</ItemTemplate>
フィドラーからのエラー情報:
ReadResponse() が失敗しました: サーバーはこの要求に対する応答を返しませんでした。サーバーは 0 バイトを返しました。
サービスコードをご覧ください。
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class SearchService : ISearchService
{
[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
public List<cbEntity.User> GetUserProfile()
{
return new cbUserProfile(thisSession.UserId).GetUserProfile();
}
}
public class cbUserProfile:User
{
public List<cbEntity.User> GetUserProfile()
{
List<cbEntity.User> lstReturn = new List<cbEntity.User>();
Load();
lstReturn.Add(this);
return lstReturn;
}
}