我想要一個dataset
綁定到dropdownlist
,它拋出一個HttpException
DropDownList.DataTextField不能綁定到數據集?
這裏就是我想要做的
if (dsGroupsNotOnFestival.Tables[0].Rows.Count > 0)
{
//Bind dataset to new group selection
ddlNewGroup.DataSource = dsGroupsNotOnFestival.Tables[0].DefaultView;
ddlNewGroup.DataValueField = "band_id";
ddlNewGroup.DataTextField = "band_naam";
ddlNewGroup.DataBind();
}
else
{
ddlNewGroup.Items.Add(new ListItem("No groups to add"));
}
異常消息:
DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'band_naam'.
我m絕對肯定dataset
包含一個標題爲band_naam的列。如您所見,綁定DataTextField
時引發異常,這意味着DataValueField
被正確綁定,對嗎?
編輯:
這是存儲過程:
USE [groep2_festivals]
GO
/****** Object: StoredProcedure [dbo].[GetGroupsOfFestival] Script Date: 14-05-13 12:31:18 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Robbie Vercammen
-- Create date: 2013-05-09
-- Description: Getting all groups for a defined festival
-- =============================================
ALTER PROCEDURE [dbo].[GetGroupsOfFestival]
(
@festId nvarchar(4)
)
AS
BEGIN
DECLARE @query varchar(255)
SELECT b.*, p.*
FROM bands b
JOIN bandsperfestival bpf ON b.band_id = bpf.band_id
JOIN podia p ON p.pod_id = bpf.pod_id WHERE fest_id LIKE @festId
EXEC(@query)
END
通知的b.*
和bands b
? 現在這裏該表:
此存儲過程已被用於在多個場合,所以我敢肯定,它工作正常。但在這裏,也許是我忘了提最重要的代碼:
//Filling dataset with groups not on this festival
dsGroupsNotOnFestival.Tables.Add(new DataTable());
foreach (DataRow row in dsGroupsAll.Tables[0].Rows)
{
if (!dsGroupsPerFestival.Tables[0].Rows.Equals(row))
{
dsGroupsNotOnFestival.Tables[0].ImportRow(row);
}
}
再一次,在DataSet
dsGroupsAll曾經使用過這樣的數據存在:)
@manish米什拉 dsGroupsAll充滿上面的存儲過程相同。 爲了證明其實是有數據有:
對於那些還在下面,我已經證實,在dsGroupsNotOnFestival
14行。 當我試圖以簡單的方式得到一個值,例如:
String strResult = dsGroupsNotOnFestival.Tables[0].Rows[0][0].ToString();
我得到一個異常說,列0找不到......這是爲什麼?
而不是'dsGroupsNotOnFestival.Tables [0] .DefaultView'作爲數據源,僅指定該表像'dsGroupsNotOnFestival.Tables [0]' – Habib 2013-05-14 12:06:57
檢查'DataSet'中的列名是否有任何尾隨空格。 – 2013-05-14 12:09:11
當您評論// ddlNewGroup.DataTextField =「band_naam」時,代碼是否正在運行; ? – Serge 2013-05-14 12:10:44