2016-07-18 19 views
1

外部のJSONブロックからC#コードの背後に読み込まれる可変URL文字列があります。JSONからC#とASP.Net経由でURLを開きます

私は新しいウィンドウを開き、それらのURLを起動する必要があるテーブルでクリック可能なボタンを作成しています。これらはオブジェクトのString変数に保持されます。

しかし、私はクリック時にウィンドウを開き、URL文字列を使用するaspx側で関数を作る方法を見つけることができません。 )(

は現在、私は、私は、ウィンドウを開くことができますこれによりボタン

Button b = new Button(); 
b.Attributes.Add("onClick", "OpenURL()"); 
bCell.Controls.Add(b); 

に属性を追加していますが、私は以上のOpenURLに私はJSON文字列から非直列化URLを取得するように見えることはできません

function OpenURL(url) {var x = window.open(url, 'mynewwin'); 

がフロントエンドとして機能します。

URLが異なるため、どこでもハードコードすることはできません。

すべてのボタン、行、およびセルは、JSON文字列から動的に生成されます。だから、ハードコーディングはこれらに対して起こることはありません。 //初めてのポスター。解決策を探すためにしようとしましたが、あなたはURLは、ボタンを作成している時点であるか知っている場合は、あなたが行うことができます

+0

あなたがwindow.openに渡す前にURLをエンコードできるかどうかを確認してください。ここで詳細を確認することができます - http://www.w3schools.com/jsref/jsref_encodeuri.asp –

+0

URLエンコーディングに問題はありません。値を直接 "OpenURL()"メソッドに直接コーディングしなくても、URLを.aspxページに送信する方法を見つけることはできません。例:私は "OpenURL(var)"をしたいと思いますが、それは文字通り読み込みます。ですから、私は "OpenURL(www.google.com)"をやらなければなりません。これは可変URLの目的を打ち破っています。申し訳ありませんが、私は質問を貧弱にしています。 –

+0

"OpenURL(" + var + ")"を試しましたか?ブラウザストレージを使用することもできますか?ローカルストレージですか? –

答えて

0

を失敗しました:

Button b = new Button(); 
var url = "some url"; 
b.Attributes.Add("onClick", string.Format("OpenURL({0})",url)); 
bCell.Controls.Add(b); 

あなたは後までのURLがわからない場合ページが読み込まれている場合は、ページ上の変数に格納してリンクをクリックするとその内容を取得できます。

+0

ありがとうございましたこれは役に立ちました。このように置換文字列を使用することは私には起こりませんでした。 –

関連する問題