前台
<asp:DataList ID="DataList1" runat="server" HorizontalAlign="Center"
RepeatColumns="3" RepeatDirection="Horizontal" Width="1100px">
<ItemTemplate>
<table class="style1">
<tr>
<td class="style2" rowspan="4">
<asp:Image ID="Image1" runat="server"
ImageUrl='<%# "~/bookimag/"+Eval("imagename") %>' />
</td>
<td>
书名:<asp:Label ID="bname" runat="server" Text='<%# Eval("bookname") %>' />
</td>
</tr>
<tr>
<td>
作者:<asp:Label ID="author" runat="server" Text='<%# Eval("author") %>' />
</td>
</tr>
<tr>
<td>
出版社:<asp:Label ID="pcompany" runat="server"
Text='<%# Eval("publishcompany") %>' />
</td>
</tr>
<tr>
<td>
<asp:Button ID="rdbutton" runat="server"
Text="点击阅读" onclick="rdbutton_click" />
<asp:Label ID="bkID" runat="server"
Text='<%# Eval("bookID") %>' Visible="False" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>后台public partial class bookread_newbook : System.Web.UI.Page
{
public void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string consql = System.Configuration.ConfigurationManager.ConnectionStrings["BookftConnectionString"].ConnectionString;
SqlConnection conne = new SqlConnection(consql);
conne.Open();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand selectCmd = new SqlCommand();
selectCmd.Connection = conne;
selectCmd.CommandText = "select * from bookinformation";
da.SelectCommand = selectCmd;
DataSet data = new DataSet();
da.Fill(data, "books");
DataList1.DataSource = data.Tables["books"];
DataList1.DataBind();
conne.Close(); } }
protected void rdbutton_click(object sender, EventArgs e)
{
foreach (DataListItem item in DataList1.Items) ;
{
Label bkid= (Label)item.FindControl("bkID");
Session["bookID"] = bkid.Text;
Response.Redirect("mulu.aspx");我在Datalist中放了一个Button控件 想实现的功能是点击Button获取该索引行的BookID出现的错误是: 谢了 各位大神
<asp:DataList ID="DataList1" runat="server" HorizontalAlign="Center"
RepeatColumns="3" RepeatDirection="Horizontal" Width="1100px">
<ItemTemplate>
<table class="style1">
<tr>
<td class="style2" rowspan="4">
<asp:Image ID="Image1" runat="server"
ImageUrl='<%# "~/bookimag/"+Eval("imagename") %>' />
</td>
<td>
书名:<asp:Label ID="bname" runat="server" Text='<%# Eval("bookname") %>' />
</td>
</tr>
<tr>
<td>
作者:<asp:Label ID="author" runat="server" Text='<%# Eval("author") %>' />
</td>
</tr>
<tr>
<td>
出版社:<asp:Label ID="pcompany" runat="server"
Text='<%# Eval("publishcompany") %>' />
</td>
</tr>
<tr>
<td>
<asp:Button ID="rdbutton" runat="server"
Text="点击阅读" onclick="rdbutton_click" />
<asp:Label ID="bkID" runat="server"
Text='<%# Eval("bookID") %>' Visible="False" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>后台public partial class bookread_newbook : System.Web.UI.Page
{
public void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string consql = System.Configuration.ConfigurationManager.ConnectionStrings["BookftConnectionString"].ConnectionString;
SqlConnection conne = new SqlConnection(consql);
conne.Open();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand selectCmd = new SqlCommand();
selectCmd.Connection = conne;
selectCmd.CommandText = "select * from bookinformation";
da.SelectCommand = selectCmd;
DataSet data = new DataSet();
da.Fill(data, "books");
DataList1.DataSource = data.Tables["books"];
DataList1.DataBind();
conne.Close(); } }
protected void rdbutton_click(object sender, EventArgs e)
{
foreach (DataListItem item in DataList1.Items) ;
{
Label bkid= (Label)item.FindControl("bkID");
Session["bookID"] = bkid.Text;
Response.Redirect("mulu.aspx");我在Datalist中放了一个Button控件 想实现的功能是点击Button获取该索引行的BookID出现的错误是: 谢了 各位大神
解决方案 »
- 国家工薪部认证证书ceac,有必要考吗?
- 紧急求救? 在asp.net中怎么返回某个文件的绝对路径
- 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭。
- 我刚装了 winserver2003,可是当我安装 sqlserver2000 时,却提示说winserer2003 不支持 sqlserver2000 这个版本,怎么办呢?
- 新手上路,有几个问题不明白,请教各位高手了
- 不用javascript能写出好的网站吗?因为以前没学过javascript,想只用asp.net和c#能否够用?
- .NET能调用FTP功能吗?如何实现?
- 有为高人告诉我再C#页面中用Response.Write("<script>confirm(‘111')</script>");实现类似MESSAGEBOX的作用但问题是?????????
- 高分求航空商务综合服务平台(亚洲高校.NET软件设计作品)
- 向高手请教服务器数据库安全问题。谢谢!
- 关于水晶报表的问题, 帮忙解救下。
- ASP.NET 大文件复制问题
用说的吧~~错误为: 上下文中找不到局部变量item
<asp:DataList ID="DataList1" runat="server" HorizontalAlign="Center" RepeatColumns="3"
RepeatDirection="Horizontal" Width="1100px"
onitemcommand="DataList1_ItemCommand">
<ItemTemplate>
<table class="style1">
<tr>
<td class="style2" rowspan="4">
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/bookimag/"+Eval("imagename") %>' />
</td>
<td>
书名:<asp:Label ID="bname" runat="server" Text='<%# Eval("bookname") %>' />
</td>
</tr>
<tr>
<td>
作者:<asp:Label ID="author" runat="server" Text='<%# Eval("author") %>' />
</td>
</tr>
<tr>
<td>
出版社:<asp:Label ID="pcompany" runat="server" Text='<%# Eval("publishcompany") %>' />
</td>
</tr>
<tr>
<td>
<asp:Button ID="rdbutton" runat="server" Text="点击阅读" CommandName="read" CommandArgument='<%# Eval("bookID") %>' />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList> protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "read")
{
//获取BookID
int BookID = Convert.ToInt32(e.CommandArgument);
}
}
我将你的代码替换进去了~然后修改了一下,目的是测试获取的BookID值
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "read")
{
//获取BookID
int BookID = Convert.ToInt32(e.CommandArgument); TextBox1.Text = BookID.ToString();
}
}结果运行界面Text.box值为空~555555555555555555555555555555555
替换没?bookID 是不是数值型的?
{
if (e.CommandName == "read")
{
//获取BookID
string BookID = Convert.ToString(e.CommandArgument); TextBox1.Text = BookID;
}
}
用button不行,
要用
<a href="default.aspx?id=<%#Eval('ID')%>">阅读</a>
{
Label bkid= (Label)item.FindControl("bkID");
Session["bookID"] = bkid.Text;你这样写得到的永远是第一条的啊
protected void rdbutton_click(object sender, EventArgs e)
{
Label lb = (sender as Button).NamingContainer.FindControl("bkID") as Label;
if(lb!=null)
Response.Redirect("mulu.aspx?id=" + lb.Text);
}