我在我的Visual Studio 2005 ASP.NET代码中将DropDownList
渲染到HtmlTextWriter
,但是当我尝试添加不SelectedIndexChanged
的事件时得到渲染。
有什么想法吗?这甚至可能吗?
更新:我尝试过设置AutoPostBack = true。是否有可能尝试通过HTMLTextWriter呈现控件?
答案 0 :(得分:2)
向SelectedIndexChanged
事件(或任何其他服务器端事件)添加事件处理程序不会影响呈现DropDownList
控件时生成的标记。事件处理程序仅在服务器上定义和执行,在客户端标记中不需要额外的任何内容。
如果列表中的选定值自上次渲染后发生更改,则会在回发时触发SelectedIndexChanged
事件。视图状态用于跟踪先前选择的值,<select>
中的已发布表单值包含要比较的新值。
如果您希望页面在DropDownList
的所选索引发生更改(在客户端)时执行自动回发,请在控件上设置AutoPostback = true
。这将导致对呈现的标记进行微小更改,现在将在<select>
上包含客户端(JavaScript)事件注册,从而在其所选索引发生更改时触发周围表单的提交。