Asp.net 中继器控件中的文本框
我有一个中继器控件,它有一个包含两个文本框的Asp.net 中继器控件中的文本框,asp.net,sql,controls,repeater,Asp.net,Sql,Controls,Repeater,我有一个中继器控件,它有一个包含两个文本框的ItemTemplate。我通过中继器循环并将数据插入数据库。问题是第一个文本框是唯一插入的文本框 我在PageLoad方法中绑定列表中的第一个文本框 奎斯顿: 答复: 我的代码隐藏: protectedvoidbtnsave\u单击(对象发送方,事件参数e) { 会话=新会话(); SessionQuestion sessionQuestions=新建SessionQuestion(); session.ClientId=id; session.
ItemTemplate
。我通过中继器循环并将数据插入数据库。问题是第一个文本框是唯一插入的文本框
我在PageLoad
方法中绑定列表中的第一个文本框
奎斯顿:
答复:
我的代码隐藏:
protectedvoidbtnsave\u单击(对象发送方,事件参数e)
{
会话=新会话();
SessionQuestion sessionQuestions=新建SessionQuestion();
session.ClientId=id;
session.DateTime=DateTime.Now;
session.Report=txtReport.Text;
session.Notes=string.Empty;
session.IsActive=IsActive.Active;
int sessionId=SessionBLL.Insert(会话);
foreach(问题重复器中的控制项。项)
{
sessionQuestions.SessionId=SessionId;
TextBox txtQ=(TextBox)item.FindControl(“txtQ”);
会话问题。答案=”;
sessionQuestions.Question=txtQ.Text;
var txtAns=(TextBox)item.FindControl(“txtAns”)作为TextBox;
if(txtAns!=null)
{
会话问题。答案=”;
sessionQuestions.Answer=txtAns.Text;
}
睡眠(150);
if(txtAns!=null&&txtQ.Text!=null)
{
会话问题bll.插入(会话问题);
}
}
字符串消息=”;
Response.Redirect(“/Sessions/Sessions.aspx?message=“+message”);
}
可能是因为您没有在页面加载中包含中继器数据绑定
If (!IsPostBack)
{
// Databind your repeater
}
此外,当您在中继器中进行迭代时,最好遍历item&alternative类型的项,如下所示
foreach (RepeaterItem item in questionRepeater.Items)
{
if (item.ItemType == ListItemType.Item ||
item.ItemType == ListItemType.AlternatingItem)
{
}
}
也许这是因为您没有在页面加载中包含中继器数据绑定
If (!IsPostBack)
{
// Databind your repeater
}
此外,当您在中继器中进行迭代时,最好遍历item&alternative类型的项,如下所示
foreach (RepeaterItem item in questionRepeater.Items)
{
if (item.ItemType == ListItemType.Item ||
item.ItemType == ListItemType.AlternatingItem)
{
}
}
:D一天后我就忘了!iPostback:*谢谢男士:D过了一天我就忘了!iPostback:*谢谢你,伙计