刚刚启动了一个新的ASP项目,由于某种原因我的下拉数据源和数据绑定似乎没有正常工作,当一切都在那里并且没有抛出错误。
List<ProductEntity> products = new List<ProductEntity>();
ProductManager productManager = new ProductManager();
products = productManager.GetProducts();
ddlProducts.DataSource = products;
ddlProducts.DataBind();
asp代码。
int colCounter = 0;
List<ProductEntity> products = new List<ProductEntity>();
DataTable dt = new DataTable("Products");
SqlDataReader dr = null;
SqlCommand cmd = new SqlCommand();
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["FIConnection"].ConnectionString))
{
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "dbo.SV_GetProduct";
cn.Open();
dt.Load(dr = cmd.ExecuteReader());
cn.Close();
}
foreach (DataRow rows in dt.Rows)
{
ProductEntity prod = new ProductEntity();
foreach (DataColumn columns in dt.Columns)
{
if (colCounter == 0)
{
prod.ProductDesc = Convert.ToString(rows[columns]);
colCounter++;
}
else if (colCounter == 1)
{
prod.FormingCode = Convert.ToString(rows[columns]);
colCounter = 0;
}
}
}
return products;
和GetProducts代码。
当单步执行项目时,GetProducts会成功返回数据。即使一切看起来都井井有条,我也无法绑定它。我对数据绑定的尝试是在页面加载上,即使我之前做过,但这次似乎没有工作。如此困惑,任何帮助都会被大大诟病。
答案 0 :(得分:1)
不完全理解你的问题。 还要提到dropdownlist ddl的以下属性
ddl.DataTextFeild="Feild to Display";
ddl.DataValueFeild="Feild ID";
答案 1 :(得分:1)
可能会帮助你
namespace WebApplication3
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.DataSource = GetProducts();
DropDownList1.DataTextField = "FormingCode";
DropDownList1.DataValueField = "ProductDesc";
DropDownList1.DataBind();
}
private List<Product> GetProducts()
{
List<Product> ret = new List<Product>();
for (int i = 0; i < 100; i++)
{
Product p = new Product();
p.ProductDesc = i;
p.FormingCode = i.ToString();
ret.Add(p);
}
return ret;
}
}
public class Product
{
public int ProductDesc { get; set; }
public string FormingCode { get; set; }
}
}