后台获取Formview绑定的数据

作者: harde 分类: DotNet 发布时间: 2009-09-22 22:53

我不知道该怎么形容,但是大概就是这么个意思吧
问题是这样的
我在前台Formview绑定了数据
但是编辑时我要获取这个List
无奈…实在不知道怎么获取了…

捣鼓了半天
终于找到了两种方法
一种依旧使用数据源
另外一种使用手动绑定

首先看下我的 实体类

using System;
using System.Collections.Generic;
using System.Text;

using System.Collections;
namespace Harde.BookShop.Models
{
public class Status
{
public Status()
{

}

public Status(int id)
{
this.Id = id;
}

private int id;
///

/// 身份编号
///

public int Id
{
get { return id; }
set { id = value; }
}

private string name;
///

/// 身份名称
///

public string Name
{
get { return name; }
set { name = value; }
}

private List permissions = new List();
///

/// 权限集合
///

public List Permissions
{
get { return permissions; }
set { permissions = value; }
}

}
}
[/csharp” file=”Status.cs” colla=”-” line=”1]
其中Permission也是个实体

先说说第一种
数据源上我觉得没什么功夫可下..
那就从Formview上下手
DataBound事件大家不陌生了吧,
同样在Formview的DataBound事件里
写下

if (fv_showStatus.CurrentMode == FormViewMode.Edit)
{
Status status = (Status)fv_showStatus.DataItem;
}
[/csharp” line=”1]
OK,搞定
FormviewMode那里大家根据需要改,或者干脆不写

下面看下第二种手动绑定
最开始我试着手动绑定到业务层的方法上
结果提示Datasource只能绑定IEnumerable、IDataSource、ILIst数据
那么事情就简单了
在业务层再写个方法 返回为LIst就可以了

///

/// 根据ID得到Status(作为FormView数据源使用)
///

/// 身份Id /// Status”集合”
public static List getStatusByIdForFV(int id)
{
List list = new List();
list.Add(StatusService.getStatusById(id));
return list;
}
[/csharp” collapse=”true” line=”1]
那么剩下我就不用写了
直接从返回值里取实体就可以了

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注