我需要通过javascript获取在Formview inserttemplate中退出的文本框。
两者都返回null:
$get('txtTitle');
document.getElementById("txtTitle");
问题是formview不会在表单加载时呈现......
答案 0 :(得分:7)
正如您所说,formview内容是根据请求而不是页面加载在服务器上呈现的。也就是说,尝试使用此代码访问formview中的控件。更改“FormView”的名称以匹配您的唯一控件ID。
document.getElementById('<%=FormView.FindControl("txtTitle").ClientID%>');
如果需要,如果存在生命周期考虑,可以使用以下几个有用的事件在后面的代码中注册javascript。
在FormView控件中创建所有行后,将引发 ItemCreated 事件。首次呈现控件时,或者当用户导航到另一个记录时,可能会发生这种情况。您可以使用此事件来提供执行自定义例程的事件处理方法,例如在发生此事件时添加或修改行的内容。
注意: ItemCreated 事件发生在FormView控件绑定到数据之前。要修改绑定字段的值,请使用DataBound事件。