Javascript 在vb.net中通过文本生成的tr.表中未运行Onclick事件

Javascript 在vb.net中通过文本生成的tr.表中未运行Onclick事件,javascript,vb.net,onclick,literals,tr,Javascript,Vb.net,Onclick,Literals,Tr,您好,我在a中有一个onclick事件不起作用。有人能看看我遗漏了什么吗?我使用文本从vb.net生成html。onclick的其他实例甚至可以在其他类似的中工作,但这个实例不起作用。有许多表是以这种方式生成的,但其中一些表无法正常工作。那次重击根本就没有发生 <table class="redtbl"><tr><td>050-CONFIGURATION MANAGEMENT</td></tr><tr id="050-C

您好,我在a中有一个onclick事件不起作用。有人能看看我遗漏了什么吗?我使用文本从vb.net生成html。onclick的其他实例甚至可以在其他类似的
中工作,但这个实例不起作用。有许多表是以这种方式生成的,但其中一些表无法正常工作。那次重击根本就没有发生

<table class="redtbl"><tr><td>050-CONFIGURATION     
MANAGEMENT</td></tr><tr id="050-CONFIGURATION     
MANAGEMENTRT06420-11" style="display:none;"><td>Planned Effort: 1</td></tr><tr id="050-    CONFIGURATION     
MANAGEMENTRT06420-12" style="display:none;"><td>Actual Effort: </td></tr><tr id="050-    CONFIGURATION     
MANAGEMENTRT06420-13" style="display:none;"><td>Assignee: </td></tr><tr class ="redtr"><td onclick="run('050-CONFIGURATION     
MANAGEMENTRT06420-1')">Assigned</td></tr></table>
050-CONFIGURATION
管理计划工作量:1实际工作量:受让人:已分配
这是我单击view source时的html代码。它的布局看起来很混乱。我想知道它是否来自所有以某种方式添加的空间。这里是一个完美世界中它应该是什么样子的好视图

<table class="redtbl">
  <tr>
    <td>050-CONFIGURATION MANAGEMENT</td>
  </tr>
  <tr id="050-CONFIGURATION MANAGEMENTRT06420-11" style="display:none;">
    <td>Planned Effort: 1</td>
  </tr>
  <tr id="050-CONFIGURATION MANAGEMENTRT06420-12" style="display:none;">
    <td>Actual Effort: </td>
  </tr><tr id="050-CONFIGURATION MANAGEMENTRT06420-13"style="display:none;">
    <td>Assignee: </td>
  </tr>
  <tr class ="redtr">
    <td onclick="run('050-CONFIGURATION MANAGEMENTRT06420-1')">Assigned</td>
  </tr>
</table>

050-配置管理
计划工作量:1
实际努力:
受让人:
分配
当我在vb.net中编写代码时,我使用这种格式

Literal3.Text = "<table><tr><td></td></tr></table>"
Literal3.Text=“”
这里是在vb代码中实际生成它的地方

Literal3.Text &= "<tr>" &
                            "<td>" &
                                "<table" & colortbl & ">" &
                                    "<tr>" &
                                        "<td>" & MyDataReader(5) & "</td>" &
                                    "</tr>" &
                                    "<tr id=""" & MyDataReader(5).ToString & MyDataReader(2).ToString & "1" & """ style=""display:none;"">" &
                                        "<td>Planned Effort: " & MyDataReader(6) & "</td>" &
                                    "</tr>" &
                                    "<tr id=""" & MyDataReader(5).ToString & MyDataReader(2).ToString & "2" & """ style=""display:none;"">" &
                                        "<td>Actual Effort: " & MyDataReader(7) & "</td>" &
                                    "</tr>" &
                                    "<tr id=""" & MyDataReader(5).ToString & MyDataReader(2).ToString & "3" & """ style=""display:none;"">" &
                                        "<td>Assignee: " & MyDataReader(8) & "</td>" &
                                    "</tr>" &
                                    "<tr" & colortr & ">" &
                                        "<td onclick=""run('" & MyDataReader(5).ToString & MyDataReader(2).ToString & "')"">" & MyDataReader(4) & "</td>" &
                                    "</tr>" &
                                "</table>" &
                            "</td>" &
                        "</tr>"
Literal3.Text&=>&
"" &
"" &
"" &
“”&MyDataReader(5)和“”&
"" &
"" &
计划的工作:“&MyDataReader(6)&”&
"" &
"" &
实际工作量:“&MyDataReader(7)&”&
"" &
"" &
受让人:“&MyDataReader(8)&”&
"" &
"" &
“”&MyDataReader(4)和“”&
"" &
"" &
"" &
""

很抱歉,如果这篇文章太长,我只想详细说明一下。

您要传递给
运行函数的字符串中有一个换行符,这将导致语法错误。

尝试从数据中删除换行符或对其进行正确编码。

您尚未设置函数run,该函数必须位于文档的标题中

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
    function run (arg) {
        window.alert(arg);
    }
    </script>
</head>
<body>
    <table class="redtbl">
        <tr>
            <td>050-CONFIGURATION MANAGEMENT</td>
        </tr>
        <tr id="050-CONFIGURATION MANAGEMENTRT06420-11" style="display:none;">
            <td>Planned Effort: 1</td>
        </tr>
        <tr id="050-CONFIGURATION MANAGEMENTRT06420-12" style="display:none;">
            <td>Actual Effort: </td>
        </tr><tr id="050-CONFIGURATION MANAGEMENTRT06420-13"style="display:none;">
            <td>Assignee: </td>
        </tr>
        <tr class ="redtr">
            <td onclick="run('050-CONFIGURATION MANAGEMENTRT06420-1')">Assigned</td>
        </tr>
    </table>
</body>
</html>

函数运行(arg){
窗口警报(arg);
}
050-配置管理
计划工作量:1
实际努力:
受让人:
分配

我发现是我从datareader中提取的数据,有一些古怪的字符导致了换行符。所以我把我的身份证建立在别的东西上。

我不知道换行符是从哪里来的。我确实删除了换行符,并将字符串全部放在一行中,但我仍然遇到了问题。什么是正确的编码方式?@TitanicSwimmer查找JSON序列化-我建议您不要在Line中使用脚本内联和样式我只是显示了部分代码,函数run()就在那里。