2012-10-05 26 views
8

Iきた私も定義され、このaspxページからコードビハインドメソッドを呼び出す方法は?

public List<string> DevList { get; set; } 

のように定義されてDevListと呼ばれるフィールドを含むオブジェクトと呼ばれる方法で、開発者のリストを連結して、それを表示するようになっているDisplayListOfDevelopers 1つの文字列。

これは私がaspxからメソッドを呼び出す方法です。

<asp:TemplateField HeaderText = "Developer(s)"> 
<ItemTemplate> 
    <asp:Label 
     ID="_lblDevList" 
     runat="server" 
     Text= '<%# DisplayListOfDevelopers(DevList) %>'> 
    </asp:Label> 
</ItemTemplate> 
</asp:TemplateField> 

しかし、私はこのエラーを取得しています:名「DevList」は現在のコンテキストで

存在しない、私は何かが足りないのですか? dsは今のDevListが含まれているオブジェクトのリストだけで

EDIT

_gvStatus = ds; 
_gvStatus.DataBind(); 

。これを仮定し

+0

コードビハインドで変数をどこで定義しましたか? – Shyju

+0

DevListプロパティは、gridview/listviewデータソースに接続されたクラス内に配置されますか? – Silagy

+0

私はちょうど追加する編集を参照してください。 – Richard77

答えて

12

を支援するための

おかげで、あなたのクラスがどのように見えるかです:あなたのコードビハインドで

public class MyItem 
{ 
    public List<string> DevList { get; set; } 
} 

そして

ds = List<MyItem>(); 

ことは、これを行う

を あなたのマークアップで

<asp:TemplateField HeaderText = "Developer(s)"> 
<ItemTemplate> 
    <asp:Label 
     ID="_lblDevList" 
     runat="server" 
     Text= '<%# DisplayListOfDevelopers(Eval("DevList")) %>'> 
    </asp:Label> 
</ItemTemplate> 
</asp:TemplateField> 

はちょうどあなたのコードビハインド内の関数は、保護または公衆されていることを確認してください。

+0

ありがとうございます。それは今働いている。しかし、Evalがパフォーマンスに悪いと聞きました。 – Richard77

+1

反対に何ですか?そして/またはあなたは参照を持っていますか? –

関連する問題