在repeater中修改了数据要把数据保存到数据库?

zzr494684778 2011-04-21 04:50:05
在repeater中修改了数据要把数据保存到数据库?
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-04-21
  • 打赏
  • 举报
回复
DEMO
[code=HTML]<asp:repeater id="repeaterMain" Runat="server" OnItemDataBound="repeaterMain_ItemDataBound">
<ItemTemplate>
<table>
<tr><td>
<a href= " <%#"Details.aspx?au_id=" + DataBinder.Eval(Container,"DataItem.au_id")%> "> <%#DataBinder.Eval(Container,"DataItem.au_id")%> </a> 大类<br>
</td>
</tr>
<asp:repeater ID="repeaterSub" Runat="server">
<ItemTemplate>
<tr>
<td>
<a href= " <%#"Details.aspx?title_id=" + DataBinder.Eval(Container,"DataItem.title_id")%> "> <%#DataBinder.Eval(Container, "DataItem.title_id")%> </a> 小类
</td>
</tr>
</ItemTemplate>
</asp:repeater>
</table>
</ItemTemplate>

</asp:repeater>


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindMain();
}
}

private void BindMain()
{
SqlConnection cn = new SqlConnection(@"server=(local);uid=sa;pwd=1234567890;database=pubs");
SqlDataAdapter da = new SqlDataAdapter("select au_id from authors", cn);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
repeaterMain.DataSource = ds.Tables[0].DefaultView;
repeaterMain.DataBind();
cn.Close();
}

protected void repeaterMain_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string au_id = ((DataRowView)e.Item.DataItem).Row["au_id"].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl("repeaterSub");
if (repeaterSub != null)
{
SqlConnection cn = new SqlConnection(@"server=(local);uid=sa;pwd=1234567890;database=pubs");
SqlCommand cmd = new SqlCommand("select title_id from titleauthor where au_id = @au_id", cn);
cmd.Parameters.Add("@au_id", SqlDbType.VarChar, 11).Value = au_id;
cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}
}

[/code]
  • 打赏
  • 举报
回复
添加个<asp:Button onCommand=服务端方法 CommandName="Save" CommandArgument ='<% #Eval("参数")%>' .../>
服务端用
if(e.CommandName == "Save")
{
string args = Convert.ToString(e.Argument); //接收参数
//...
}
saviorgaga 2011-04-21
  • 打赏
  • 举报
回复
如果你想在repeater上面修改,但是不保存到数据库,你可以隐藏
如果你想在repeater上面修改,保存到数据库,你可以保存
hyrg_ 2011-04-21
  • 打赏
  • 举报
回复
那就保存撒,有啥子问题吗?

62,046

社区成员

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

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

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

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