2017-05-12 16 views
0

私はインターネットで多くを検索しましたが、私の問題に何も答えませんでした。Angle/aspプロジェクトのマスターページからASHXの入力の値を取得

私のapi.ashxに、マスターページの入力テキストの値を取得または設定する必要があります。ここ

Main.Master.cs

<input type="hidden" id="token" name="token" runat="server" /> 

api.ashx

public void ProcessRequest(HttpContext context) 
{ 
     //here i need to get or set the "token" input in master page 
} 
+0

うーん...あなたは正確に何をしようとしていますか? ashxとページへの呼び出しは、2つの異なる要求です。おそらく、 '' 'context.Response.Redirect(newUrl);でProcessRequestの中であなたの呼び出しをリダイレクトするかもしれません。 '' 'URLパラメータを渡します... –

+0

マスターページの入力テキストにトークンを格納する必要があります –

答えて

1

jQueryとASPNETコントロールを用いた例です。 TextBox1からの値を受け取り、それをハンドラに送信します。その後、ハンドラは別の値を返し、TextBox1の中に入れます。特定のシナリオに合わせて調整する必要があります。

ハンドラコード

public void ProcessRequest(HttpContext context) 
{ 
    context.Response.ContentType = "text/plain"; 

    //check if the querystring with the token exists 
    if (context.Request.QueryString["token"] != null) 
    { 
     //get the old token from the querystring (and do stuff with it) 
     string oldToken = context.Request.QueryString["token"]; 

     //check if oldToken contains a value 
     if (string.IsNullOrEmpty(oldToken)) 
     { 
      return; 
     } 

     //generate a new token 
     string newToken = Guid.NewGuid().ToString(); 

     //send it to the browser 
     context.Response.Write(newToken); 
    } 
} 

のaspx

<asp:TextBox ID="TextBox1" runat="server" Width="250"></asp:TextBox> 
<br /><br /> 
<asp:Button ID="Button1" runat="server" Text="Get Set Token" UseSubmitBehavior="false" OnClientClick="getSetData(); return;" /> 

<script type="text/javascript"> 
    function getSetData() { 
     var control = "#<%= TextBox1.ClientID %>"; 
     var oldToken = $(control).val(); 
     $.get("/TokenHandler.ashx?token=" + oldToken, function (newToken) { 
      $(control).val(newToken); 
     }); 
    } 
</script> 
関連する問題