問題

2011-07-13 11 views
0

DataListコントロール:問題

<asp:DataList ID="DataList2" runat="server" 
        DataSourceID="AllQuestionsResponded" 
        GridLines="Horizontal" DataKeyField="ThreadsID" 
        onselectedindexchanged="DataList2_SelectedIndexChanged"> 
        <ItemTemplate> 

         <asp:LinkButton ID="LinkButton1" runat="server">'<%# Eval("ThreadTitle") %>'</asp:LinkButton> 
         <br /> 
         <br /> 
        </ItemTemplate> 
       </asp:DataList> 

とSQLデータソース:

  <asp:SqlDataSource ID="AllQuestionsResponded" runat="server" 
       ConnectionString="<%$ ConnectionStrings:CP_AllQuestionsAnswered %>" SelectCommand="SELECT ThreadTitle, ThreadsID 
FROM Threads 
WHERE ThreadsID IN (SELECT ThreadsID 
FROM Comments 
WHERE [email protected]) 
" onselecting="AllQuestionAskedDataSource_Selecting"> 

イベントの背後にあるコード:

protected void DataList2_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    Server.Transfer("AnswerQuestion.aspx?x=" + DataList2.DataKeyField + "&question=" + DataList2.SelectedValue + "&time=" + DateTime.Now); 
} 

イベントがトリガされることは決してありません!どんなに私はボタンのリンクを押す回数.. :(..

答えて

0

を試してみてくださいということですなぜ、あなたは使用することができますButtonColumn

<asp:BoundColumn ButtonType="LinkButton" 
        HeaderText="ColumnHeader" 
        DataField="LinkButton" 
        CommandName="Select" /> 
+0

ありがとうございます。しかし、私は選択した値を渡すことはできません..それは私にDataList1.SelectedValue.ToString()形式の例外をスローします:( –

+0

列がボタンとして機能する可能性があります。 –

1

を選択するためのCommandNameを指定してみてください。また

<asp:LinkButton ID="LinkButton1" CommandName="Select" runat="server">'<%# Eval("ThreadTitle") %>'</asp:LinkButton> 

<asp:LinkButton ID="LinkButton1" runat="server" command="Select" autopostback="True">