ここで完全な空白を描くことは非常に簡単ですが、私が試みたすべてがうまくいきません。
TextBox
a内の aから値を取得しようとしていますRepeater
。
<asp:Repeater ID="rptQuestions" runat="server">
<ItemTemplate>
<li>
<div class="">
<asp:Label ID="intQuestion" runat="server" Visible="false" Text='<%#Eval("intQuestion")%>'></asp:Label>
<asp:Label ID="intQuestionType" runat="server" Visible="false" Text='<%#Eval("intQuestionType")%>'></asp:Label>
<p>
<asp:Label ID="lblQuestion" runat="server" Text='<%#Eval("strQuestion").ToString().Replace("[*Garage*]", GarageName)%>'></asp:Label>
</p>
<asp:RadioButtonList ID="rblAnswers" RepeatDirection="Horizontal" TextAlign="Left" runat="server"></asp:RadioButtonList>
<asp:CheckBoxList ID="cblAnswers" RepeatDirection="Horizontal" TextAlign="Left" runat="server" ></asp:CheckBoxList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="rblAnswers" CssClass="parsley-error" ErrorMessage="This value is required"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtAnswers" TextMode="MultiLine" runat="server"></asp:TextBox>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
そして、私のオンクリックコードは次のとおりです
foreach (RepeaterItem ri in rptQuestions.Items)
{
var QuestionId = (Label)ri.FindControl("intQuestion");
var QuestionType = (Label)ri.FindControl("intQuestionType");
int intQuestion = Convert.ToInt32(QuestionId.Text);
int intQuestionType = Convert.ToInt32(QuestionType.Text);
var txtAnswer = (TextBox)ri.FindControl("txtAnswers");
if (txtAnswer == null)
{
intAnswer = 0;
strAnswer = Request.Form[txtAnswer.Text];
strAnswer = strAnswer + txtAnswer.Text;
strAnswer = strAnswer + "No Data";
}
else
{
intAnswer = 0;
strAnswer = Request.Form[txtAnswer.Text];
strAnswer = strAnswer + "-" + Request.Form[txt.Text];
strAnswer = strAnswer + "Test Stuff";
strAnswer = strAnswer + txtAnswer.Text;
}
}
値は問題なくラベルから返されますが、Request.Form[txtAnswer.Text] と txtAnswer.Text の両方を使用していることがわかりますが、どちらも機能していないため、テキストボックスは機能しません。
誰でも助けてください。