DataGrid救命!~!!!!代码如下
<asp:datagrid id="DataGrid1" style="Z-INDEX: 104; LEFT: 200px; POSITION: absolute; TOP: 96px" runat="server" Width="354px" Height="264px">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<input type="hidden" id="id" name="id" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"id")>'>
<asp:Button id="Button1" runat="server" Text="Edit"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
后台如下
public void getContent()
{
string connectionStr = " server=localhost;uid=sa;pwd=;database=News ";
SqlConnection conn = new SqlConnection( connectionStr );
conn.Open ();
//String sql = " select Content as 内容 ,Type as 新闻版块 from tblNewsContent ";
String sql = "SELECT tblNewsContent.id as 编号,tblNewsContent.Content as 内容,tblType.Title as 新闻版块 FROM tblNewsContent INNER JOIN tblType ON tblNewsContent.Type = tblType.Id";
SqlDataAdapter da = new SqlDataAdapter( sql, conn );
DataSet ds = new DataSet();
da.Fill ( ds,"Content" );
DataGrid1.DataSource = ds;
DataGrid1.DataBind();
conn.Close();
}
小弟要实现的是点BUTTON取道用户要修改的内容所对应的ID,现在总出错DataBinder.Eval:“System.Data.DataRowView”不包含名称为 id 的属性,而且如何在后台取BUTTON所对应的直,响应BUTTON事件
问题点数:20、回复次数:8Top
1 楼klj218(诺法克の魔法)回复于 2005-11-25 15:44:13 得分 0
<input type="hidden" id="id" name="id" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"编号")%>'>
Top
2 楼wlzbaby(没病真好)回复于 2005-11-25 15:47:58 得分 0
楼主取 ID 的代码怎么写的,贴出来Top
3 楼vivianfdlpw()回复于 2005-11-25 15:56:51 得分 20
String sql = "SELECT tblNewsContent.id as 编号,tblNewsContent.Content as 内容,tblType.Title as 新闻版块 FROM tblNewsContent INNER JOIN tblType ON tblNewsContent.Type = tblType.Id";
==============>
你的数据源里id字段加了“编号”这个别名,绑定的时候也要用别名
<input type="hidden" id="id" name="id" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"编号")>'>
Top
4 楼klj218(诺法克の魔法)回复于 2005-11-25 15:57:26 得分 0
如何取ID求教Top
5 楼klj218(诺法克の魔法)回复于 2005-11-25 16:22:20 得分 0
急Top
6 楼bidisty(浪漫草)回复于 2005-11-25 16:24:29 得分 0
<%# DataBinder.Eval(Container,"DataItem.编号")%>
如果做你所说的效果,这个方法不是个好办法.
在你的<asp:Button id="Button1" runat="server" Text="Edit"></asp:Button>
中可以加一个CommandArgument属性,可以把ID绑定这个属性上.定个CommandName属性值
在DataGrid的ItemCommand事件中,对事件中的e比效是不是和CommandName属性值一样,一致就可以使用e.CommandArgument属性值,值的内容就为IDTop
7 楼klj218(诺法克の魔法)回复于 2005-11-25 16:47:12 得分 0
能给个例子吗Top
8 楼singlepine(小山)回复于 2005-11-25 21:54:20 得分 0
http://singlepine.cnblogs.com/articles/266538.htmlTop




