名前付けコンテナのfindControlメソッドに関する問題があります。 これは最初の問題ではなく、私は理論を理解したいと思います。 ウェブサイト上に多くのソリューションが見つかりましたが、何も動作しません。名前付けコンテナのfindControl(Asp.net webform C#)
私はコントロールを含むDetailsViewを持っています。 私はDEFAULTMODE「挿入」を入れて、私は2つのラジオボタン
<asp:DetailsView ID="DetailsView1" runat="server"
ItemType="[...]"
DefaultMode="Insert"
[...]">
<Fields>
<asp:TemplateField>
<InsertItemTemplate>
<asp:Panel ID="Panel1" runat="server" GroupingText="Create or Select">
<div class="Select">
<asp:RadioButton ID="RB_Select" runat="server" Text="Select" Checked="True" AutoPostBack="true" OnCheckedChanged ="RB_Select_CheckedChanged" />
<asp:DropDownList runat="server" ID="DDL_Select"
ItemType="[...]"
[...]
AutoPostBack="true">
</asp:DropDownList>
</div>
<div class="New">
<asp:RadioButton ID="RB_New" runat="server" Text="New" Checked="false" AutoPostBack="true" OnCheckedChanged="RB_New_CheckedChanged" />
<asp:TextBox ID="TXB_New" runat="server" Enabled="false" Text="<%# BindItem.Label %>"></asp:TextBox>
</div>
</asp:Panel>
</InsertItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
を追加して、私のコードの後ろでexempleのために、私はただ、ラジオボタン、チェックであるかどうかテストしたい:
protected void RB_New_CheckedChanged(object sender, EventArgs e)
{
var RadioButtonNew = (RadioButton)FindControl("RB_New");
var RadioButtonSelect = (RadioButton)FindControl("RB_Select");
RadioButtonSelect.Checked = !RadioButtonNew.Checked;
}
そして、私が持っていますコントロールが見つからないため、 "System.NullReferenceException"が発生します。
なぜ私のコントロールを認識しないのですか?そしてこれに対処する方法は?あなたはページレベルでFindControl
を使用している事前
: 私はちょうどにFindControlを追加します。 –
ありがとう、私はそれを試みますが、同じ例外があります。私はloadFunction、updateItem、getItem、insertItem、OnPreInitでテストしました。私は、ページ内でコントロールを呼び出すと、それが瞬間に関連する問題だと思います。しかし、私はそれを改善することを知らない。 – BoumBoumBam