将ASP.NET控件呈现为HTML字符串不会呈现选定的事件

时间:2010-03-18 19:22:53

标签: asp.net

我在我的Visual Studio 2005 ASP.NET代码中将DropDownList渲染到HtmlTextWriter,但是当我尝试添加不SelectedIndexChanged的事件时得到渲染。

有什么想法吗?这甚至可能吗?

更新:我尝试过设置AutoPostBack = true。是否有可能尝试通过HTMLTextWriter呈现控件?

1 个答案:

答案 0 :(得分:2)

SelectedIndexChanged事件(或任何其他服务器端事件)添加事件处理程序不会影响呈现DropDownList控件时生成的标记。事件处理程序仅在服务器上定义和执行,在客户端标记中不需要额外的任何内容。

如果列表中的选定值自上次渲染后发生更改,则会在回发时触发SelectedIndexChanged事件。视图状态用于跟踪先前选择的值,<select>中的已发布表单值包含要比较的新值。

如果您希望页面在DropDownList的所选索引发生更改(在客户端)时执行自动回发,请在控件上设置AutoPostback = true。这将导致对呈现的标记进行微小更改,现在将在<select>上包含客户端(JavaScript)事件注册,从而在其所选索引发生更改时触发周围表单的提交。