【问题标题】:Can't access Dynamically created html elements from code behind无法从后面的代码访问动态创建的 html 元素
【发布时间】:2015-06-04 05:40:49
【问题描述】:

我有一个页面上有一个无序列表。我正在通过 javascript 填充列表,如下所示:

var vidList = document.getElementById("vidList");

var li = document.createElement("li");
li.id = "videoPlayer" + count;
var runat = document.createAttribute("runat");
runat.value = "server";
li.setAttributeNode(runat);
// Here I insert a flash video stream into li
vidlist.appendChild(li);

这适用于创建元素并将它们呈现到页面。问题是稍后访问它们。由于它们是视频流,因此我想在它们不再是有效流时将其删除。在我后面的 Visual Basic 代码中,我有以下代码:

For videoNumber As Integer = 1 to numVideos
    Dim li = vidList.FindControl("videoPlayer" & videoNumber.toString())
    // Check if the stream is valid and delete it if it isn't
Next

当我调试对FindControl 的调用时,会返回Nothing。于是我查看了局部变量,发现我的列表有5个元素,都是Nothing。我查看了this questionthis one,但都不太适合我的需求。列表项作为空值进入后面的代码是否有原因?

【问题讨论】:

    标签: javascript html asp.net vb.net


    【解决方案1】:

    Request.Form['videoPlayer' + count]

    更一般地,您可以将Request.Form['clientID'] 用于动态创建的控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2015-02-15
      相关资源
      最近更新 更多