请教一个关于DataList里面添加数据按钮的问题

guoziwumingzi 2009-04-28 11:32:30
DataList里面有一个添加按钮,当点击这个按钮时,把相关数据添入数据库。相关代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
if (Session["companyId"] == null || Session["name"] == null)
{
string str = "<Script>alert('对不起,请登陆后再参加活动!')</Script>";
Page.RegisterClientScriptBlock("", str);
Response.Redirect("~/MainPage.aspx");
}
else
{
string companyId = Session["companyId"].ToString();
// 遍历DataList处理外键
for (int i = 0; i < dataLGroupBuy.Items.Count; i++)
{
// 转码
Label labGroupBuyName = dataLGroupBuy.Items[i].FindControl("GroupBuyNameLabel") as Label;
groupBuyName = Convert.ToString(labGroupBuyName.Text);
//此处获敢的数据不是按钮点击时所对应的数据,一直是固定的某一个,不知道为什么???
}

DataTable dataTable = groupBuyService.GetGroupBuyByName(groupBuyName);
string groupBuyId = Convert.ToString(dataTable.Rows[0][0]);
int ret = groupBuySwapService.GetgbSwapBygbId(groupBuyId, companyId);
groupBuySwap.GroupBuySwapId = "GBS" + string.Format("{0:yyyyMMddHHmmssffff}", dt);
groupBuySwap.GroupBuySwapTime = DateTime.Now;
groupBuySwap.GroupBuySwapIsBuy = "否";
if (ret == 0)
{
groupBuySwap.GroupBuySwapNumber = 1;
}
else
{
groupBuySwap.GroupBuySwapNumber = ret + 1;
}
groupBuySwap.CompanyId = companyId;
groupBuySwap.GroupBuyId = groupBuyId;
groupBuySwap.userId = Session["name"].ToString();
if (groupBuyService.AddGroupBuySwap(groupBuySwap) > 0)
{
string str = "<Script>alert('成功加入团购!')</Script>";
Page.RegisterClientScriptBlock("", str);
}
}
}
请教各们啦!谢谢!
...全文
116 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoziwumingzi 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xzxiaozhang 的回复:]
我想是去,dataList控件它有个事件,
那可以得到
[/Quote]呵呵,谢谢你,我已经找到我想要的资料了!
章子宝 2009-04-29
  • 打赏
  • 举报
回复
我想是去,dataList控件它有个事件,
那可以得到
emoheshang 2009-04-28
  • 打赏
  • 举报
回复
我去做下,成功了,我 会把代码复制给你
guoziwumingzi 2009-04-28
  • 打赏
  • 举报
回复
// 分页绑定
void SetDataBind()
{
ANPBYPage.RecordCount = groupBuyService.GetGroupBuyPageCount(); // 设定数据库记录总行数
ANPBYPage.CustomInfoHTML = "当前是" + (ANPBYPage.CurrentPageIndex) + "页,一共有" + ANPBYPage.PageCount + "页";
dataLGroupBuy.DataSource = groupBuyService.GetGroupBuy(ANPBYPage.PageSize, ANPBYPage.CurrentPageIndex);
dataLGroupBuy.DataBind();
}

这些都没有问题,现在就是FindControl获取的时候有问题!
guoziwumingzi 2009-04-28
  • 打赏
  • 举报
回复
有加啊!
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetDataBind();
}
}
cpp2017 2009-04-28
  • 打赏
  • 举报
回复
绑定前加上
if(!this.IsPostBack)
cpp2017 2009-04-28
  • 打赏
  • 举报
回复
绑定前加上
if(!this.IsPostBack)
guoziwumingzi 2009-04-28
  • 打赏
  • 举报
回复
我在首次加载的时候用DataList绑定了全部数据,然后在DataList里面有一个添加按钮,当点击这个按钮时添加相应的数据进数据库,但是这个FindControl获取的不是我DataList里面某一按钮相对应的那个显示值。
cpp2017 2009-04-28
  • 打赏
  • 举报
回复
你是不是在Page_Load中绑定数据而没有使用if(!this.IsPostBack) ?
guoziwumingzi 2009-04-28
  • 打赏
  • 举报
回复
有没有同志们帮一下忙啊?????谢谢了!!!!!!
guoziwumingzi 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cpp2017 的回复:]
引用 2 楼 guoziwumingzi 的回复:
我在首次加载的时候用DataList绑定了全部数据,然后在DataList里面有一个添加按钮,当点击这个按钮时添加相应的数据进数据库,但是这个FindControl获取的不是我DataList里面某一按钮相对应的那个显示值。


现在才看明白,这是个label,不是textbox,你添加成功后需要重新绑定一下datalist
[/Quote]

兄弟,我现在是在添加的时候就出问题了,Lable拿出来的值不是我按钮所对应的那个值!
cpp2017 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 guoziwumingzi 的回复:]
我在首次加载的时候用DataList绑定了全部数据,然后在DataList里面有一个添加按钮,当点击这个按钮时添加相应的数据进数据库,但是这个FindControl获取的不是我DataList里面某一按钮相对应的那个显示值。
[/Quote]

现在才看明白,这是个label,不是textbox,你添加成功后需要重新绑定一下datalist
guoziwumingzi 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 emoheshang 的回复:]
我去做下,成功了,我 会把代码复制给你
[/Quote]谢谢!!!

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧