2012-05-08 7 views
3

私はMicrosoft .NET Framework 4でWebアプリケーション開発を学んでいます。私はこの本を読んでいるうちに、私はこのことを学びながら私がコーディングしている仕事でサイドプロジェクトを持っています。jQueryを使用してカスタムコントロールから情報を取得する。 Visual Studio 2010

ユーザー名に基づいて、データベースにクエリを実行し、データベースからの行数に基づいてカスタムコントロールを動的に作成する、本当のシンプルなアプリケーションです。

カスタムコントロールはイメージとラベルに過ぎません。ただし、メンバー変数にはreportNameとfilePathがあります。

public partial class ReportIcon : System.Web.UI.UserControl 
{ 
    public string reportName { get; set; } 
    public string filePath { get; set; } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     ReportNameLabel.Text = this.reportName; 
    } 
} 

これらの動的に作成されたアイコンは正常に作成され、メンバー変数はデータベース値に従って設定されます。

jQueryのonClickイベントを使用してfilePath値を取得しようとしています。私はその情報に到達することができないようです。今すぐアイコンが実際にクリックされたことを警告するだけです。

$('.report-icons').click(
    function() { 
     $(this).siblings().removeClass("selected"); 
     $(this).addClass("selected"); 
     alert("Get PDF File"); 
    } 

); 

誰かがjQueryのを使用して、カスタムコントロールでは、この情報を取得するために正しい方向に私を指すことができますか?

おかげ

答えて

0

あなたはその後、jqueryのを使用して読むことができる生成されたHTML要素にデータ・ファイルパス属性を追加することができます。

+0

どうすればいいですか?私はこれで本当に新しいです:) – lross1309

1

あなたが、その後はJQueryでアクセスすることができUIコントロールにファイルパスを記述する必要があるでしょうすなわち

マークアップ

<asp:Label runat=server ID="lblFilePath" /> 

コードの後ろ

lblFilePath.Text = filePath 

JQuery

alert($(#<%=lblFilePath.ClientID%>).text()); 

を使用するか、コントロールの非表示フィールドまたはデータ属性を利用してください。原則は同様です

1

私は、あなたがユーザーにファイルパスを見せたくないと思います。 Crab Bucketのメソッドは間違いなく機能しますが、ラベルコントロールの代わりに隠しコントロールを使用することをお勧めします。

HTML

< ASP:隠しにrunat = "サーバー" ID = "filePathに" />

分離コード

filePath.value = myReportPath

jQueryの

アラート($( "#<%= filePath.ClientID%>")。val());

+0

私は間違って何ですか? HTML : FilePathHiddenField.Value = this.filePathの後ろに コード。 jQueryの のアラート($( "#<%= FilePathHiddenField.ClientID%>")のval()); aleryは空です。私はラベルを使用する場合は、警告ボックスが言う#<%= FilePathLabel.ClientID%> – lross1309

+0

のIDすなわちFilePathHiddenFieldは大文字と小文字が区別されます - それはストレートjQueryのソースからコピーされ –

+0

することができました。ソースを見ると – lross1309

関連する問題