0

我正在与 DotNetNuke 一起使用 asp.net。

我想尝试一些对我的其他真实项目有帮助的东西。

我想使用 sql server 中的存储过程从后面的代码中填充 GridView 吗?

  1. 在 Info 组件中,我添加了以下内容:

    public string Emri2 { get; set; }

  2. 在 DataProvider 我添加这个:

    public abstract IDataReader GetEmri(string Emri);

  3. 在控制器中我添加了这个:

     public GradesInfo GetEmri(GradesInfo gr)
    {
    
        return (GradesInfo)CBO.FillObject(DataProvider.Instance().GetEmri(gr.Emri2), typeof(GradesInfo));
    
    }
    
  4. 在 SqlDataProvider 我添加这个:

    public override IDataReader GetEmri(string Emri)
    {
        return (IDataReader)SqlHelper.ExecuteReader(ConnectionString, "SelektoStudentet", Emri);
    }
    

如何在页面加载时填充网格?

在页面加载:

GradesController gr = new GradesController();

GradesInfo grIn = new GradesInfo();

grIn.Emri2 = "John";

gr.GetEmri(grIn);

有人可以帮助他们吗?我尝试了很多事情,但我做不到

Ps 我不允许使用 SqlConnection、SqlCommand 等。

4

1 回答 1

0

如果您正在使用网格,您将希望使用稍微不同的返回类型,因为您正在获取多条记录。

您的 SqlDataProvider 很好。但是在控制器中,您希望返回为List<GradesInfo>.

然后使用CBO.FillCollection<GradesInfo>(DataProvider.Instance().GetEmri("yourvaluehere"));

然后,在 ascx 中,您可以执行以下操作,假设您使用的是 id 为 dgrData 的数据网格。

var controller = new GradesController();
dgrData.DataSource = controller.GetEmri("yourvaluehere");
dgrData.DataBind();
于 2013-06-28T14:05:09.330 回答