asp.net数据绑定问题gridview,有点不懂?

来源:百度知道 编辑:UC知道 时间:2024/06/01 20:37:18
'<%#"~Handler.aspx?EmployeeID="+Eval("EmployeeID")%>',有2个EmployeeID,我数据库里面有一个字段EmployeeID,到底哪个EmployeeID对应数据库?它是怎么传给Handler.aspx?
上面那代码是不是如果数据库中有3个EmployeeID,把所有的EmployeeID都赋值给它,我看来看去有点糊涂了

首先从目的上来讲,你想要看到的结果是:Handler.aspx?EmployeeID=XXX,其中最后的XXX是对应你数据库中的字段EmployeeID的值的

代码中"~Handler.aspx?EmployeeID="这部分是固定的文字串,Eval()是一个方法,是从结果集中的当前行里取出对应字段值的方法。Eval一般都用在重复数据显示的控件里,比如DataList或GridView,比如说:

<asp:DataList ID="DataList1" runat="server"
DataSourceID="ObjectDataSource1">
<ItemTemplate>
<asp:Label runat="server" ID="ProductNameLabel"
Text='<%# Eval("ProductName") %>'></asp:Label>
</ItemTemplate>
</asp:DataList>

重复数据显示控件会在内部自动循环得到的结果集,以上面这个例子来说的话,如果结果集里有3行的话,ItemTemplate这部分会被执行3遍,每遍对应不同的行。

对应到你的情况,如果你数据库里有3个EmployeeID,就会显示3行。比如说你有EmployeeID: 1, 2, 3 结果就会向下面这样

~Handler.aspx?EmployeeID=1
~Handler.aspx?EmployeeID=2
~Handler.aspx?EmployeeID=3