C#ASP.NETデータリストとHTMLラジオボタン
-
11-12-2019 - |
質問
私のサイトには言語変更管理がありますので、言語をクリックすると同じページを再ロードしますが、さまざまな言語テキストで、ユーザーがデータをリロードする必要がある場合は、同じページを再ロードします。
CheckBox、TextBoxにデータをリロードすることができましたが、ラジオボタンではありません。
私のコードを見てください
データリストとラジオボタンを内蔵しています。
<asp:DataList runat="server" ID="dlRole">
<ItemTemplate>
<input type="radio" id="rblRole" name="rblRole" value='<%# Eval("RoleCode") %>' />
<asp:Label ID="lbRole" runat="server" Text='<%# Eval("Description")%>'></asp:Label>
</ItemTemplate>
</asp:DataList>
.
データリストをロードし、ラジオボタン
dlRole.DataSource = ...
dlRole.DataBind();
.
ラジオボタン値をユーザーセッションオブジェクトに保存します
user.Role = Request["rblRole"];
.
しかし、保存したオブジェクトをラジオボタンにリロードすると、ラジオボタンオブジェクトコントロールが見つかりません....ラジオボタンは常にNULLです。そして私はなぜがわからない
foreach (DataListItem item in dlRole.Items)
{
HtmlInputRadioButton radio = (item.FindControl("rblRole") as HtmlInputRadioButton);
if (radio != null) <--- always nulll
{
if (radio.Value == user.Role.ToString())
{
radio.Checked = true;
}
else
radio.Checked = false;
}
}
.
それを修正する方法を教えてください ありがとう
解決
を追加する必要があります
runat="server"
.
ラジオボタンそれ以外の場合は、後ろのコードからアクセスできません。
所属していません StackOverflow