datagrid <ItemTemplate>中的<%# DataBinder.Eval(Container.DataItem,"zyid") %> 我想把zyid 换成变量 dd2.SelectedItem.Text 谢谢,我就是想要绑定的这个zyid字段要变成是一个可以由一个Dropdownlist控制的功能,当Dropdownlist变动时,我也想让在前台显示的绑定的数据也跟着变<%# DataBinder.Eval(Container.DataItem,"zyid") %>,zyid我想让它不是一个固定的绑定字段,而是一个可变的字段,值为Dropdownlist1.SelectedItem.Text 的值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try<%@ Page Language="C#" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.SqlClient" %><script runat="server">string sBoundField = "";void Page_Load(object o, EventArgs e){ if (!IsPostBack) { BindData(); }}void BindData(){ SqlDataAdapter da = new SqlDataAdapter("select * from authors", "server=localhost;database=pubs;uid=sa;pwd=;"); DataTable dt = new DataTable (); da.Fill(dt); dg.DataSource = dt.DefaultView; dg.DataBind();}void dg_ItemDatabound(object source, DataGridItemEventArgs e){ if (e.Item.ItemType == ListItemType.Header) { DropDownList ddl = (DropDownList)e.Item.FindControl("ddl"); if (sBoundField == "") sBoundField = ddl.SelectedItem.Value; else ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(sBoundField)); } if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { e.Item.Cells[0].Text = DataBinder.Eval(e.Item.DataItem,sBoundField).ToString(); }}void TestSelection(object sender, EventArgs e){ DropDownList ddl = (DropDownList)sender; sBoundField = ddl.SelectedItem.Value; BindData();}</script><html><head></head><body> <form id="form1" runat="server"> <asp:DataGrid id="dg" runat="server" OnItemDataBound="dg_ItemDatabound"> <Columns> <asp:TemplateColumn> <HeaderTemplate> <asp:DropDownlist id="ddl" runat="server" OnSelectedIndexChanged="TestSelection" AutoPostBack="true"> <asp:ListItem Text="First Name" Value="au_fname" /> <asp:ListItem Text="Last Name" Value="au_lname" /> <asp:ListItem Text="ID" Value="au_id" /> </asp:DropDownList> </HeaderTemplate> <ItemTemplate> <!--data will be added later--> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <asp:Button id="btn" runat="server" Text="Submit"></asp:Button> </form></body></html> 代码分离后,在我原来的基础上弄了半宿也没弄好,aspx文件 和 aspx.cs文件在下面http://www.rczx.com/bb.rar 求一个简单的CMS 求ASP.NET 高手 关于一个Asp.net mvc 的问题 repeater里放一个table和单独一个table有什么区别 页面间传值,收到的字符串后面带了“?”号? 怎么在服务器上发布本机上做好的.net程序?我已经编译生成了setup.exe文件,把它在服务器上安装就行吗?但问题是如果我又修改了程序是不 提个小问题.net的程序是不是不依赖于客户端的cookie 新人asp.net 的一个超级菜鸟问题,关于panel控件的位置问问题 诚邀优秀网管加盟,月薪不低于5K 急! 这修改资料的代码应该怎么写呢,我写得没用啊! 大家来看看,不是很难的问题
<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">string sBoundField = "";void Page_Load(object o, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}void BindData()
{
SqlDataAdapter da = new SqlDataAdapter("select * from authors",
"server=localhost;database=pubs;uid=sa;pwd=;"); DataTable dt = new DataTable ();
da.Fill(dt); dg.DataSource = dt.DefaultView;
dg.DataBind();
}void dg_ItemDatabound(object source, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("ddl");
if (sBoundField == "")
sBoundField = ddl.SelectedItem.Value;
else
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(sBoundField));
} if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Cells[0].Text = DataBinder.Eval(e.Item.DataItem,sBoundField).ToString();
}}void TestSelection(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
sBoundField = ddl.SelectedItem.Value; BindData();}</script>
<html>
<head>
</head>
<body>
<form id="form1" runat="server">
<asp:DataGrid id="dg" runat="server" OnItemDataBound="dg_ItemDatabound">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:DropDownlist id="ddl" runat="server" OnSelectedIndexChanged="TestSelection" AutoPostBack="true">
<asp:ListItem Text="First Name" Value="au_fname" />
<asp:ListItem Text="Last Name" Value="au_lname" />
<asp:ListItem Text="ID" Value="au_id" />
</asp:DropDownList>
</HeaderTemplate>
<ItemTemplate>
<!--data will be added later-->
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:Button id="btn" runat="server" Text="Submit"></asp:Button>
</form>
</body>
</html>