2017-01-05 2 views
1

にredirctedページ上のボタンのIDを取得します。私はHTTPハンドラファイルにリダイレクトされるボタンを持ってどのようにasp.net

私がリダイレクトされるボタンのIDを取得したいです。

ボタンは、モーダルポップアップです。

HTML: -

<form action="abc.ashx" method="post"> 
    // popup 
</form> 

その実際のハンドラファイルにリダイレクトされるフォーム。

+2

あなたは何を試しましたか?そして、なぜあなたは、例えば、クエリ文字列を介してボタンのidを渡さないのですか? –

+0

'Response.Redirect(String.Format(" abc.ashx?ID = {0} "、someValue)' –

答えて

1

として表示します。フォームに含まれる内容は実際にはっきりしません。しかし、あなたはこれを持っている:

<form action="abc.ashx" method="post"> 
    // popup 
</form> 

私は何を後にしていることは、フォームでクリックされたボタン知るabc.ashx.csで道があることを前提としています。

<form action="abc.ashx" method="post"> 
    <input type="submit" value="foo" name="foo" /> 
    <input type="submit" value="bar" name="bar" /> 
</form> 

次にあなたがチェックすることができabc.ashx.csファイルに:

public void ProcessRequest(HttpContext context) 
{ 
    if (context.Request.Form["foo"] == "foo") 
    { 
     // the foo button was clicked 
    } 
    if (context.Request.Form["bar"] == "bar") 
    { 
     // the bar button was clicked 
    } 
} 

代わりにあなたが試すことができます:

一つの方法は、このような<input type="submit" ... />を使用することです

<form action="abc.ashx" method="post"> 
    <input type="submit" value="foo" name="submitter" /> 
    <input type="submit" value="bar" name="submitter" /> 
</form> 

と:

public void ProcessRequest(HttpContext context) 
{ 
    if (context.Request.Form["submitter"] == "foo") 
    { 
     // the foo button was clicked 
    } 
    if (context.Request.Form["submitter"] == "bar") 
    { 
     // the bar button was clicked 
    } 
} 

語彙についてのコメント:これを正しく理解していれば、ここではリダイレクトは実際には話していません。これは、フォームがロードされたアドレスとは異なるアドレスにポストするだけです。リダイレクトは、特定のアドレスを投稿/取得したときにサーバーがリダイレクト応答を送信し、ブラウザが別のアドレスを取得する場合です。

+0

@user ....に感謝します。 –

0

さて、あなたの質問は、あなたが正確に必要なものを説明していない、私はあなたのハンドラページにあなたの.aspxからいくつかのデータを渡したいと仮定しています。

あなたはここのようにそれを行うことができます。..

HttpContext.Current["ID"] = data; 
Server.Transfer("abc.ashx"); 

およびハンドラページで

public void ProcessRequest(HttpContext context) 
{ 
    var data = context["ID"]; 
    ... 

コールは、あなたがquery stringパラメータとしてデータを渡す必要があり、クライアント側から行われる場合 - など

Response.Redirect(String.Format("abc.ashx?ID={0}",someValue)

そしてhandlでそれを使用するようにページを

context.Request["ID"]. 
関連する問題