0

リンクをクリックしたときにユーザー情報を含むポップアップ ウィンドウを表示しようとしていますが、エラーが発生します。これに関連する投稿をいくつか読みましたが、問題を解決できませんでした。コードをご覧ください。

グリッドビューのリンク ボタンから 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;
    }       
}                                                                     
4

0 に答える 0