2016-01-28 15 views
0

我有一个文本框,我将禁用,因此用户无法输入任何他们想要的文本。要选择一个驱动程序,他们必须点击放大镜图像并出现驱动程序列表。将文本框设置为Enable = false正在停止保存该值

enter image description here

当他们从列表中选择一个驱动程序,它填充司机到文本框中。但是当我去保存它时,它的价值就像空白一样,所以没有驱动程序被保存。问题是将文本框设置为Enabled = false

txtDriverName.Enabled = false; 

如果我删除此行,驱动程序将保存。但禁用文本框会保存一个空白值。如何阻止用户在文本框中输入文本,但仍然保存从列表中填充的值?

+1

相关或重复:http://stackoverflow.com/questions/6316399/disabled-textbox-losses-viewstate但是如何以及何时将值分配给'TextBox'?尝试在aspx或'Page_Init'上做到这一点。 –

+0

@TimSchmelter我有一个填充所有文本框的函数。这个函数是从'Page_Load'方法调用的。但是,感谢您连接的问题 – user123456789

+0

尝试从'Page_Init'调用该方法,而不是对结果感兴趣。 –

回答

0

尝试使用:

txtDriverName.ReadOnly = true; 
+0

没有发生同样的事情。当我尝试保存时,值为空 – user123456789

0

答案是文本框设置为txtDriverName.Attributes.Add("readonly", "readonly");

不知道为什么这个工作,并将其设置为Enabled = falsetxtDriverName.ReadOnly = true;没有奏效。但它现在保存在文本框中的值

+1

因为这确保了'ViewState'被用来保存值。如果您在服务器上设置了“Enabled = False”,ASP.NET将禁用此控件的viewstate,因为禁用的控件无意在回发中更改其值。 –

相关问题