TextBox innerhalb eines repeater-Steuerelements
Habe ich ein repeater-Steuerelement mit einem ItemTemplate
enthält zwei Textfelder. Ich Schleife durch die Repeater und legen Sie die Daten in meiner Datenbank. Das problem ist, dass das erste Textfeld ist das nur eine eingefügt.
Ich Binde das erste Textfeld in der Liste in der PageLoad
Methode.
<asp:Repeater ID="questionRepeater" ViewStateMode="Enabled" runat="server">
<ItemTemplate>
<tr class="">
<td>
<div class="control-group">
<label class="control-label">Queston : </label>
<div class="controls">
<asp:TextBox runat="server" ID="txtQ" Text='<%#Eval("Question") %>' ReadOnly="true" CssClass="span8">
</asp:TextBox>
</div>
</div>
</td>
</tr>
<tr class="info">
<td>
<div class="control-group">
<label class="control-label">Answer : </label>
<div class="controls">
<asp:TextBox runat="server" ID="txtAns"
Height="150" TextMode="MultiLine" CssClass="span8"></asp:TextBox>
</div>
</div>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
Mein code hinter:
protected void btnSave_Click(object sender, EventArgs e)
{
Sessions session = new Sessions();
SessionQuestion sessionQuestions = new SessionQuestion();
session.ClientId = id;
session.DateTime = DateTime.Now;
session.Report = txtReport.Text;
session.Notes = string.Empty;
session.IsActive = IsActive.Active;
int sessionId = SessionBLL.Insert(session);
foreach (Control item in questionRepeater.Items)
{
sessionQuestions.SessionId = sessionId;
TextBox txtQ = (TextBox)item.FindControl("txtQ");
sessionQuestions.Answer = "";
sessionQuestions.Question = txtQ.Text;
var txtAns = (TextBox)item.FindControl("txtAns") as TextBox;
if (txtAns != null)
{
sessionQuestions.Answer = "";
sessionQuestions.Answer = txtAns.Text;
}
Thread.Sleep(150);
if (txtAns != null && txtQ.Text != null)
{
SessionQuestionBLL.Insert(sessionQuestions);
}
}
string message = "";
Response.Redirect("/Sessions/Sessions.aspx?message=" + message);
}
InformationsquelleAutor ahmgeek | 2013-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht, weil Sie nicht schließen Sie den repeater-databinding in Ihrer Page_Load
Auch, wenn Sie eine Iteration durch den repeater ist es besser für die Iteration durch die Elemente des Typs item & alternative wie unten gezeigt
InformationsquelleAutor smiling4ever