2016-07-25 8 views
0

私は2つのページcustomer.aspxとcustomer_detail.aspcを持っています。目的は、特定の表のセルの値をcustomerからcustomer_detailに送信できることです。たとえば、次のjavascriptは、customer.aspx.csファイルのBindTableメソッドに基づいて、テーブルを動的にcustomer.aspxにレンダリングします。 customer.aspx:C#テーブルのセルデータをあるページから別のページに送る

<script type="text/javascript"> 
     $(document).ready(function() { 
      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "customer.aspx/BindCustomer", 
       data: "{}", 
       dataType: "json", 
       success: function(data) { 
        for (var i = 0; i < data.d.length; i++) { 
         $("#customer_table").append("<tr><td>"+'<a id = "anchor" href="customer_individual.aspx">' + data.d[i].customer_name +'</a>'+ "</td><td>" + data.d[i].customer_id +"</td><td>" + data.d[i].total_value + "</td><td>" + data.d[i].created_date + "</td></tr>"); 
        } 
       }, 
       error: function(result) { 
       alert("Error"); 
       } 
      }); 
     }); 

上記BindCustomer関数はCUSTOMER_TABLEに結合している顧客の配列オブジェクトを返すcustomer.aspx.csに書き込まWebMethod属性、顧客[]、です。上の例では、テーブルの最初のtd要素内にhrefがあり、これがページをcustomer_detail.aspxにリダイレクトすることに注意してください。

目的は、customer_detail.aspx.csへのリンクをクリックしたときにcustomer_name値を送信することができるようにするため、別に名前を付けて保存した顧客オブジェクトを照会し、これを達成するための最良の方法は何でしょうか?どのように進めるべきかについての示唆は非常に役立ちます!

+0

「データを送信する」と言うと、そのページにユーザーをリダイレクトしてそのデータを参照するか、何らかの方法で参照することを意味しますか? –

+0

はい、現在のリンクでは、 'customer_detail'ページにテキストボックスやラベルなどの静的フィールドが含まれています。ユーザーは、data.d [i] .customer_nameという値とともにページにリダイレクトする必要があります。これを使用してcustomer_detailページのテキストボックスを埋めることができます – skarred14

+0

それは本当にすべてです。クエリ文字列のURLに渡す値を追加するだけです。 –

答えて

0

(それはあなたがすでにやっていることと非常によく似ています。)あなたはこのように、クエリ文字列で渡したいデータをcustomer_detail.aspxへのリンクをフォーマットすることである

<a href="/customer_detail.aspx?customerName=dataYouWantToPass">Link</a> 

最も簡単な方法customer_detail.aspxが読み込まれると、クエリ文字列から値を取得します。

customer_detail.aspxでご Page_Loadイベントで

var customerName = Request["customerName"]; 

あなたは、より特定することとRequest.Querystring["customerName"]を言うが、このページには、おそらく値がクエリ文字列またはフォームフィールドに渡されたかどうかを気にしない可能性があります。 Request["customerName"]は両方をカバーします。

+0

私はこの方法を試しています。同じことが演繹された価値を渡すために適用可能か?つまり、customer.aspxにデータテーブルを作成する際に作成されるdata.d [i] .customer_nameの動的値を渡したいと思います。特にこれは適用可能でしょうか? Link、上記のLinkの値はdata.d [i] .customer_name – skarred14

+0

です。Hannan:上記の方法で静的テキストを渡すことができ、2ページ目でこれを取得できます。 。この動的テキストをどのように取得することができますか?私が試した次のようにHREFをModfying:$( "#のpatient_table")追加( "​​"+ '' + data.d[i].patient_name + '' +"​​"+"");同じドキュメント内では、既に:$( "a")。prop( "href"、function(){return this.href + = $ .trim($(this).text());});私もインライン展開を試みました:onclick = "window.location.href = this.href + $ .trim($(this).text()); 提案? – skarred14

+0

あなたはそのような関数を渡すことはできません - Customer_detail.aspxは、パラメータがどこから来たのかを知る必要はなく、入力(パラメータ)を持っていて、そのことを行います。 –

関連する問題