0
我的站點具有語言更改控制,所以當單擊一種語言時,我將重新加載相同的頁面但使用不同的語言文本,並且如果用戶已經在表單中填寫了字段,我必須重新加載數據。c#ASP.NET Datalist和HTML單選按鈕
我已經成功地重新加載數據到複選框,文本框,但不與無線電鈕
請看看我的代碼
我有一個DataList和內部的單選按鈕。
<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,按鈕不分組,用戶可以一次選擇多個....任何想法如何解決這個問題? – Ben
歡迎來到ASP.NET;)這是一箇舊bug(請參閱http://support.microsoft.com/kb/316495) - 如果您執行一些搜索,您會發現一些解決方法 - 主要是重寫名字與一點JavaScript –