2016-03-22 10 views
0

私はasp.netアプリケーションを持っています。ユーザーがJavaScriptボタンをクリックしたときに表示される非表示の入力があります。JavaScriptからポストバックなしのトリガサーバー側のメール

ユーザーがJavaScriptボタンをクリックして隠れた入力の一部を表示したときに、サーバー側から電子メールを送信したいとします。

私はonclientclick関数でJavaScriptを呼び出すことができますが、サーバーサイドのメソッドを設定してサーバー側で電子メールをトリガーするように設定することもできますが、ポストバックを発生させることなく行うことができます。

ページに何も返す必要はありません。ページはまったく同じです。

ポストバックを防止したい理由は、クライアントのクリックで発生するアニメーションを表示することです。

私は、私はそれはそれは技術的に非現実的または.NETで安全ではないになるだろう見ることができない理由はありませんAJAX、jQueryのなどについて

を読みました。

多分、サーバー側のコードを呼び出した後にfalseを返す行に沿った何か、またはポストバックを防ぐ特殊なコマンドです。

私はこの問題が直接対処されたとは思っていません。特に、サーバーから何かを受け取る必要はなく、特に.netについて尋ねているのでユニークです。

答えて

3

.NetコードでWebMethodを作成し、そのjavascriptボタンをクリックするとajaxを使ってWebMethodを呼び出します。

[System.Web.Services.WebMethod] 
public static bool SendEmail() 
{ 
    //Logic to send Email   
} 

コールではポストバックが作成されず、簡単にタスクを実行できます。

ウェブメソッドvisitの使い方を見てください。

0

あなたがすでに言ったように、技術的には不可能です。どうして? Read on ..

サーバークライアントのモデルを正しく理解する必要があります。各通信には、クライアントからサーバーへの要求があり、サーバーからクライアントへの対応する応答があります。

URLをロードすると、クライアント(ブラウザ)はサーバーにページ(要求)を要求します。サーバーは、HTTPコード(RESPONSE)を使用してページをクライアントに送信します。その後、クライアントが別の要求を送信しない限り、サーバーとクライアントの間には関係はありません。

名前自体が示しているように、「サーバ」は「クライアント」から注文/要求を受け取り、応答/応答するものです。

あなたのケースでは、クライアントからの要求はないので、サーバーは何もできません。

+0

なぜサーバーに要求を送信し、クライアント側が応答を送信しないようにプログラムすることができないのでしょうか?私はこれが大会ではないことを理解していますが、なぜこのことができないのか分かりません。あるいは、クライアント側のコードに、nullの場合は応答を無視するように指示します。この場合、応答はnullになりますか? – Alex

+0

応答はクライアントではなくサーバーによって送信されます。サーバーへの要求がない限り、応答はクライアントに与えられません –

関連する問題