2016-04-06 15 views
-3

私はこのエラーが発生しています System.ArgumentOutOfRangeException:インデックスが範囲外でした。負でなく、コレクションのサイズより小さくなければなりません。 パラメータ名:インデックスSystem.ArgumentOutOfRangeException:インデックスが範囲外でした。負でなく、コレクションのサイズより小さくなければなりません。パラメータ名:インデックス

ソースエラー:

Line 153: Session["Cat"] = e.CommandArgument.ToString();
Line 154:
Line 155: Session["Cat_ID"] = DataList3.DataKeys[e.Item.ItemIndex].ToString();//error
Line 156: Response.Redirect("Disp_Category.aspx?id=C"); Line 157: }

くださいASPXファイルにこのコード

protected void DataList3_ItemCommand(object source, DataListCommandEventArgs e) 
{ 
    Session["L_Id"] = ddlLanguage.SelectedValue; 
    Session["Cat"] = e.CommandArgument.ToString(); 

    Session["Cat_ID"] = DataList3.DataKeys[e.Item.ItemIndex].ToString(); 
    Response.Redirect("Disp_Category.aspx?id=C"); 
} 

と間違っているものをいくつかのいずれか私はあなたがいるこの

<asp:DataList ID="DataList3" runat="server" DataKeyNames="C_Id" DataSourceID="SqlDataSource3" OnItemCommand="DataList3_ItemCommand"> 
           <ItemTemplate> 
            <table cellpadding="0" cellspacing="0" border=1 width=150> 
             <tr> 
              <td> 
               <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("C_Name") %>' 
                Text='<%# Eval("C_Name") %>' CausesValidation="False"></asp:LinkButton></td> 
             </tr> 
            </table> 
           </ItemTemplate> 
          </asp:DataList><asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\New Projects\Sym\App_Data\Music.mdf;Integrated Security=True;User Instance=True" 
           ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM [Category] ORDER BY [C_Name]"> 
          </asp:SqlDataSource> 
+1

なり?あなたはエラーを読み取ることはできませんDataList3.DataKeysそれは正しいe.Item.ItemIndexの値で範囲外の配列を配列 –

答えて

0

を持っています正しくない。 CommandArgumentにid(c_id)を設定し、名前(c_name)を設定しないことをお勧めします。 それがあなたの鍵です。 ItemCommandでは、IDでレコード全体を取得できます。 また:

Response.Redirect("Disp_Category.aspx?id=C"); 

は間違って何

Response.Redirect("~/Disp_Category.aspx?id=C"); //id=C? sure? 
関連する問題

 関連する問題