问题描述
各位老鸟,您好,小弟在使用Repeater控件中遇到了一些麻烦,请各位老鸟解答这里可以看到,其中的菜品名称和菜品价格都是通过Label控件绑定显示出来的,后面加了一个点菜份数,是用的DropDownList,我选择好了需要的菜品后,点提交按钮后,只能提交最后一个值“鳝鱼”,而且需要的份数也显示不出来,我把该提交按钮的代码发上来,用的是Foreach遍历整个Repeater,但是好像这样不是我需要的。我需要实现的是:1.得到Repeater控件中的DropDownList的值,并成功的插入数据库中。2.点提交按钮后,同时在数据库中插入多条我选择的菜品的信息,DropDownList值为0的,不提交到数据库中,提交到数据库中需要包含菜品名称,价格,份数,这样的三个信息,就是很郁闷,想了半天也不知道怎么实现,我把“提交”按钮的代码放上来,请各位帮帮忙,谢谢了!protectedvoidbtnSure_Click(objectsender,EventArgse){DianCaidiancai=newDianCai();//菜品名称foreach(RepeaterItemMyItem1inRepeater1.Items){diancai.DeskId=this.DropDownList1.SelectedValue.ToString();diancai.Persons=this.txtPersons.Text.ToString();LabelMyLabel1=(Label)MyItem1.FindControl("Label3");diancai.MeatDishName=MyLabel1.Text.ToString();//菜品价格LabelMyLabel=(Label)MyItem1.FindControl("Label4");diancai.MeatPrice=MyLabel.Text.ToString();//份数DropDownListMyDropDownList=(DropDownList)MyItem1.FindControl("DropDownList2");diancai.MeatAmount=MyDropDownList.SelectedValue.ToString();}if(DianCaiDao.CustomerTable(diancai)==true){Response.Redirect("Successful.aspx");}}
有追分
解决方案
解决方案二:
直接把DropDownList.SelectedValue进行Bind绑定不可以么?
解决方案三:
但是怎么样才能一次提交多条数据到数据库呢?就是说一桌客人要对应一些点菜的菜单哈,谢谢各位了
解决方案四:
关注下,这个我也不明白
解决方案五:
我好久没有写这些个代码了,手痒帮你写了一个<%@ImportNamespace="System.Data"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</title></head><body><formid="form1"runat="server"><div><asp:RepeaterID="Repeater1"runat="server"OnItemCommand="Repeater1_ItemCommand"><ItemTemplate><asp:DropDownListID="DropDownList1"runat="server"><asp:ListItemValue=1>1</asp:ListItem><asp:ListItemValue=2>2</asp:ListItem></asp:DropDownList><br/></ItemTemplate><FooterTemplate><asp:ButtonID="Button1"CommandName="s"runat="server"Text="Button"/></FooterTemplate></asp:Repeater></div></form></body></html>
usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassRepeaterDDL:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){bindRT();}}privatevoidbindRT(){DataTabledt=newDataTable();dt.Columns.Add("num",typeof(int));DataRowdr=null;for(inti=1;i<=10;i++){dr=dt.NewRow();dr[0]=i;dt.Rows.Add(dr);}this.Repeater1.DataSource=dt.DefaultView;this.Repeater1.DataBind();}protectedvoidRepeater1_ItemCommand(objectsource,RepeaterCommandEventArgse){stringlist=string.Empty;if(e.CommandName=="s"){foreach(RepeaterItemriinthis.Repeater1.Items){list+=((DropDownList)ri.FindControl("DropDownList1")).SelectedValue+"-";}}Response.Write(list);}}
解决方案六:
但是怎么样才能一次提交多条数据到数据库呢?就是说一桌客人要对应一些点菜的菜单哈,谢谢各位了---------------------直接把整个表插入库
解决方案七:
你的思路有点问题!你应该这样!遍历Repeater控件后.找出droplist中值大0的.然后进行插入操作!发表于:2007-11-0916:07:51楼主各位老鸟,您好,小弟在使用Repeater控件中遇到了一些麻烦,请各位老鸟解答这里可以看到,其中的菜品名称和菜品价格都是通过Label控件绑定显示出来的,后面加了一个点菜份数,是用的DropDownList,我选择好了需要的菜品后,点提交按钮后,只能提交最后一个值“鳝鱼”,而且需要的份数也显示不出来,我把该提交按钮的代码发上来,用的是Foreach遍历整个Repeater,但是好像这样不是我需要的。我需要实现的是:1.得到Repeater控件中的DropDownList的值,并成功的插入数据库中。2.点提交按钮后,同时在数据库中插入多条我选择的菜品的信息,DropDownList值为0的,不提交到数据库中,提交到数据库中需要包含菜品名称,价格,份数,这样的三个信息,就是很郁闷,想了半天也不知道怎么实现,我把“提交”按钮的代码放上来,请各位帮帮忙,谢谢了!C#codeprotectedvoidbtnSure_Click(objectsender,EventArgse){DianCaidiancai=newDianCai();//菜品名称foreach(RepeaterItemMyItem1inRepeater1.Items){DropDownListMyDropDownList=(DropDownList)MyItem1.FindControl("DropDownList2");if(MyDropDownList.SelectedValue.ToString()>0){diancai.MeatAmount=MyDropDownList.SelectedValue.ToString();diancai.DeskId=this.DropDownList1.SelectedValue.ToString();diancai.Persons=this.txtPersons.Text.ToString();LabelMyLabel1=(Label)MyItem1.FindControl("Label3");diancai.MeatDishName=MyLabel1.Text.ToString();//菜品价格LabelMyLabel=(Label)MyItem1.FindControl("Label4");diancai.MeatPrice=MyLabel.Text.ToString();//这里要执行数据的插入工作//dosomething}}if(DianCaiDao.CustomerTable(diancai)==true){Response.Redirect("Successful.aspx");}}
解决方案八:
楼上代码肯定有问题哦protectedvoidbtnSure_Click(objectsender,EventArgse){DianCaidiancai=newDianCai();//菜品名称foreach(RepeaterItemMyItem1inRepeater1.Items){DropDownListMyDropDownList=(DropDownList)MyItem1.FindControl("DropDownList2");if(MyDropDownList.SelectedValue.ToString()>0)//这样也行??????????????????{diancai.MeatAmount=MyDropDownList.SelectedValue.ToString();diancai.DeskId=this.DropDownList1.SelectedValue.ToString();diancai.Persons=this.txtPersons.Text.ToString();LabelMyLabel1=(Label)MyItem1.FindControl("Label3");diancai.MeatDishName=MyLabel1.Text.ToString();//菜品价格LabelMyLabel=(Label)MyItem1.FindControl("Label4");diancai.MeatPrice=MyLabel.Text.ToString();//这里要执行数据的插入工作//dosomething}}if(DianCaiDao.CustomerTable(diancai)==true){Response.Redirect("Successful.aspx");}}
解决方案九:
请问怎么把一张表插入到数据库呢?能写出具体的SQL语句吗?谢谢!
解决方案十:
if(MyDropDownList.SelectedValue.ToString()>0)//这样也行??????????????????
这样应该不行吧??
解决方案十一:
问题解决了一半了谢谢各位!!!!在第一个问题中,我是忘了写:if(!IsPostBack){}导致了每次提交数据的时候都返回了一次默认值,所以没有值提交到数据库现在还有第二个问题了:为何每次都只能提交最后选择的“鳝鱼”到数据表呢?我想提交的是整个荤菜菜单到数据表中,请问应该怎么入手呢?谢谢各位了!~
解决方案十二:
对不起,没注意.不过意思是那样的:(MyDropDownList.SelectedValue.ToString()>0改成----------->convert.toInt32(MyDropDownList.SelectedItem.text)>0为何每次都只能提交最后选择的“鳝鱼”到数据表呢?---------------------------------------------你在这里://这里要执行数据的插入工作//dosomething写插入操作啊!!晕我想提交的是整个荤菜菜单到数据表中,请问应该怎么入手呢?------------------------------------------------什么意思?如果你要区分菜的种类.你要增加一个字段才分.要不然很难判断!
解决方案十三:
请问怎么把一张表插入到数据库呢?能写出具体的SQL语句吗?谢谢!
解决方案十四:
请问怎么把一张表插入到数据库呢?能写出具体的SQL语句吗?谢谢!