我有一个自定义的服务器控件(动态创建下拉框和文本框的复合控件)。我启用了AJAX,以避免在ASP.NET网页控件中使用页面reload.The服务器控件,该控件只有几个按钮来控制服务器控件的可见性。现在,我在下拉框和文本框中输入值,然后单击任何其他按钮。在此回发之后,最后输入的值将消失!控件没有记住这些值。有谁可以帮我?如何在回发后保留这些值?
发布于 2011-04-05 21:15:25
确保在每次回发后为控件提供完全相同的ID。此外,如果可能,您可能希望在Page_Init期间尝试初始化动态控件(DropDownList和TextBox)。
发布于 2011-04-05 21:19:32
如果您的自定义服务器控件是动态创建的所有控件,那么您需要在每个post上重新创建它们,并且您需要在Page_Load()之前创建它们,否则asp.net无法知道用post数据填充它们。
为了解决这个问题,如果您不能在Page_Load()之前创建它们,那么您可以使用所有控件的Request.Form[YourCustomControl.UniqueID],用发布的数据自己填充它们。
发布于 2011-04-05 21:20:53
您需要在每次回发时重新创建,请参见This article
https://stackoverflow.com/questions/5552243
复制相似问题