想说下我的做法,以下是前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="shopCar.aspx.cs" Inherits="shopCar" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1"
OnItemCommand="DataList1_ItemCommand">
<ItemTemplate>
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
<asp:Label ID="priceLabel" runat="server" Text='<%# Eval("price") %>'></asp:Label><br />
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label><br />
<br />
<asp:Button ID="Button1" runat="server" CommandName="buy" OnClick="Button1_Click"
Text="购买" /><br />
</ItemTemplate>
</asp:DataList></div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:B2CCon %>"
SelectCommand="SELECT [id], [price], [name] FROM [GoodsDeatil]"></asp:SqlDataSource>
</form>
</body>
</html>
后台代码:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
string str = ((Label)e.Item.FindControl("idLabel")).Text;
if (e.CommandName.ToLower() == "buy")
{
Response.Write("<script>alert(str)</script>");
}
}问题是:不能弹出javascript,应该是((Label)e.Item.FindControl("idLabel")).Text的问题,不过不知道怎麽写。要在button事件弹出id的值应该怎么写呢?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="shopCar.aspx.cs" Inherits="shopCar" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1"
OnItemCommand="DataList1_ItemCommand">
<ItemTemplate>
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
<asp:Label ID="priceLabel" runat="server" Text='<%# Eval("price") %>'></asp:Label><br />
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label><br />
<br />
<asp:Button ID="Button1" runat="server" CommandName="buy" OnClick="Button1_Click"
Text="购买" /><br />
</ItemTemplate>
</asp:DataList></div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:B2CCon %>"
SelectCommand="SELECT [id], [price], [name] FROM [GoodsDeatil]"></asp:SqlDataSource>
</form>
</body>
</html>
后台代码:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
string str = ((Label)e.Item.FindControl("idLabel")).Text;
if (e.CommandName.ToLower() == "buy")
{
Response.Write("<script>alert(str)</script>");
}
}问题是:不能弹出javascript,应该是((Label)e.Item.FindControl("idLabel")).Text的问题,不过不知道怎麽写。要在button事件弹出id的值应该怎么写呢?
你把if (e.CommandName.ToLower() == "buy") 去掉,看看弹出什么。
另外,((Label)e.Item.FindControl("idLabel")).Text 这样是无错的。我刚刚断点试过了,能得到值,这就是javascript变量的问题了
Response.Write("<script>alert('" + str+ "');</script>");
应该这样写。。还是谢谢你给的提示!
前台代码:<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:B2CConn %>"
SelectCommand="SELECT * FROM [CarShop]"></asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1">
<ItemTemplate>
id:
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
name:
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label>
<asp:Label ID="lbltest" runat="server" Text='<%# Eval("name") %>'></asp:Label><br />
num:
<asp:Label ID="numLabel" runat="server" Text='<%# Eval("num") %>'></asp:Label><br />
price:
<asp:Label ID="priceLabel" runat="server" Text='<%# Eval("price") %>'></asp:Label><br />
hotprice:
<asp:Label ID="hotpriceLabel" runat="server" Text='<%# Eval("hotprice") %>'></asp:Label><br />
customId:
<asp:Label ID="customIdLabel" runat="server" Text='<%# Eval("customId") %>'></asp:Label><br />
<br />
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>后台:
public partial class testAjax : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
string ss= ((Label)GridView1.FindControl("lbltest")).Text;
Response.Write(ss);
}
}
我后台打算这样取,但是报错的,取不到值?麻烦看看如何更改!
前台代码:<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:B2CConn %>"
SelectCommand="SELECT * FROM [CarShop]"></asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1">
<ItemTemplate>
id:
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
name:
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label>
<asp:Label ID="lbltest" runat="server" Text='<%# Eval("name") %>'></asp:Label><br />
num:
<asp:Label ID="numLabel" runat="server" Text='<%# Eval("num") %>'></asp:Label><br />
price:
<asp:Label ID="priceLabel" runat="server" Text='<%# Eval("price") %>'></asp:Label><br />
hotprice:
<asp:Label ID="hotpriceLabel" runat="server" Text='<%# Eval("hotprice") %>'></asp:Label><br />
customId:
<asp:Label ID="customIdLabel" runat="server" Text='<%# Eval("customId") %>'></asp:Label><br />
<br />
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>后台:
public partial class testAjax : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
string ss= ((Label)GridView1.FindControl("lbltest")).Text;
Response.Write(ss);
}
}
我后台打算这样取,但是报错的,取不到值?麻烦看看如何更改!