我有两个radiobutton。如果检查其中一个文本框是活动的并获取数据。 它们位于更新页面中。在页面加载中,用数据库中的数据填充它们,然后检查ispostback。 如果文本框在页面加载中有文本,其文本会发生变化,一切正常,但如果它没有文本,则保留默认文本,并且不会在提交按钮单击时更新。
String val = "0";
if (radiobutton2.Checked && textbox1.Text.Length != 0)
val = textbox1.Text;
在页面加载中使用此代码初始化radiobuttons:
t.ReadOnly = true;
t.BackColor = System.Drawing.Color.Gray;
并且有一个用于活动和非活动此文本框的JavaScript代码
function CheckedChanged(rbtnelement, txtelement) {
if (document.getElementById(rbtnelement).checked) {
document.getElementById(txtelement).readOnly = false;
document.getElementById(txtelement).style.backgroundColor = "white";
}
else {
document.getElementById(txtelement).readOnly = true;
document.getElementById(txtelement).style.backgroundColor = "grey";
}
}
答案 0 :(得分:0)
这是因为文本框readonly属性在c#代码中变为false(它在服务器端运行)并且在javascript中变为true(它在客户端运行)。在服务器端(c#代码),文本框保持只读,不发送文本。
如果删除其中一个并在一侧(客户端或服务器)管理文本框,它将正常工作。