我是 ASP.NET 的新手,我对 Viewstate 和 Clientscript 有疑问。我用一些 Javascript 创建了一个自定义 ASP 面板(这只是一个例子):
public class MyPopup : Panel {
string Script = "$(#'{0}').dialog();";
protected override void OnLoad( EventArgs e ) {
base.OnLoad( e );
ScriptManager.RegisterStartupScript( this, this.GetType(), "MyKey", string.format(this.Script, this.Id), true );
}
}
<myControl:MyPopup id="test" runat="server">
<asp:TextBox id="test2" runat="server" />
</myControl:MyPopup>
当引发事件时,来自文本框的值不会保存在视图状态中/始终为空。所有其他工作正常。当我删除脚本管理器时,一切正常。
我希望有一个人可以帮助我...
顺便说一句:我对 jquery 没有问题,对话框正确显示只是子控件的值没有保留在视图状态中!