2012-04-23 20 views
1

私はモーダルのポップアップをユーザーメッセージの受信トレイとして持っています。ユーザーがリンクをクリックしてメッセージを表示すると、jqueryを使用してメッセージを表示します。メッセージ表示の周りのナビゲーションは、すべてクライアント側であり、素敵で滑らかです。godaddy共有ホスティングでaspフォームプロジェクトでjQueryを使用するAJAXを使用する

私が解決しようとしてきた問題は、ユーザーがメッセージリンクをクリックしてメッセージを表示した後、これを反映するようにデータベースを更新したいという問題です。私はこれを行うサーバー側のC#メソッドがあり、それに到達するためにajaxを使用しようとしています。その他の方法では、ページがリロードされ、メッセージのモーダルが消えます。

私は、更新パネルにボタンを配置しようとしました。これは機能し、完全なポストバックを引き起こさず、モーダルは維持されます。だから私の次のステップは、jqueryからメッセージを表示する関数が実行されたときにボタンを呼び出すことでした。今では部分的ではなく全面的な投稿をしています。

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
<ContentTemplate> 
<asp:Button runat="server" ID="UpdateReadStatusButton" Text="test" OnClick="UpdateReadStatus"/> 
</ContentTemplate> 
</asp:UpdatePanel> 

、その後、私は、私はアヤックスの別の方法を使用しようとしました

function ShowMyPopup(message, subject, sender, reciever, id) { 
    ShowPopup(message, subject, sender, reciever, id); 
    $('#ctl00_UpdateReadStatusButton').click(); 
} 

jQueryを使ってそれを呼び出すと、私は静かに簡単にサーバー側のコードを呼び出すことができました、そしてそれは私まで、非常によく働きました配備された。私は配備後に成功しなかったMicheal schwarzから.net ajaxラッパーを試しました。

問題は、サイトがgodaddy共有ホスティングプランでホストされていることと、私が試した他の方法のAjaxがサーバー上で動作しないことです。私は現在、AjaxControlToolKitの最新バージョンを使用しています。これはWebフォームアプリケーションなので、MVCの簡単なソリューションは動作しません。私はAjaxとWeb開発の一般的な非常に新しいですし、どんな助けも大歓迎です。

ボタンのcommandArgument属性をjqueryで設定することも考えていました。なぜなら、これはメッセージIdを持っていて、ポストバックサーバー側で取得できるからです。

ビジュアルが必要な場合は、On2Wheels.caを参照して、ユーザーHelpUserとパスワードHelpUser(大文字に注意してください)でログインし、右側のメールアイコンをクリックしてください。

は、私はjQueryの方法を試してみましたアヤックスへ:私はMVCを使用していた場合、私はURLのみでメソッドを呼び出すことができると思った

[System.Web.Services.WebMethod] 
    protected void UpdateReadStatus(string id) 
    { 
     var a = id; 
    } 

:のC#の方法で

function UpdateRead() { 
    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/UpdateReadStatus", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (result) { 
      //do something 
     } 
    }); 
} 

。これはマスターページにもありますので、すべてのページに表示されます。

答えて

0

jQueryを使用している場合は、ASP.Net UpdatePanelを使用する必要はありません。それは厄介で、扱いにくく、ちょうど価値があるよりもずっとトラブルがあります。 AJAXの機能に厳密にjQueryメソッドを使用します。

http://api.jquery.com/jQuery.ajax/

+0

私は私はあなたの答えに関連してみましたかを示すために質問を更新:彼らは彼らのウェブサイト上で持っている例のいくつかを見てみましょう。 –

関連する問題