如何innerhtml出来的asp标签

本文关键字:asp 标签 innerhtml 如何 | 更新日期: 2023-09-27 18:13:10

我想把一个按钮放到我的asp页面:

Div1.InnerHtml += "<td><input type='"submit'" ID='"Button3'" runat='"server'" OnClick='"Button3_Click'" value = '"start'" ></button></td> ";` 

错误"Button3_Click",但错误"0x800a1391 -微软JScript运行时错误:'Button3_Click'是未定义的"不断出来。Button3_Click也在相同的环境中使用,并在那里工作。

编辑关于我的代码工作的更多信息

步骤1)接收一个字符串,将其分割并形成一个二维数组。所有这些都是在c#

中完成的

步骤2)然后将输出发送到ASP页面以在表中显示。这个表将有5列n行。前3行是来自上面字符串的数据,接下来的2行是操作数据的按钮。

下面是一些代码片段

public void createarray(string results)
    {
        using (StringReader reader = new StringReader(results))
        {
            int lineNo = -1;
            string line;
            int columncount = 3;
            Div1.InnerHtml += "<table border = '"1'" style = '" font-    size:13px ; width:20% '" ;>  ";
            while ((line = reader.ReadLine()) != null)
            {
                ++lineNo;
                twodarray(lineNo, columncount, line);
            }// while
        }// using 
        Div1.InnerHtml += "</table>";
    }// end of function 

    public Array[] twodarray(int rowcount, int columncount, string parts)
    {
        string[,] twoD = new string[10000, 10];
        string[] parts2 = parts.Split(new string[] { "," }, StringSplitOptions.None);
        int y = rowcount;
        for (int x = 0; x < columncount; x++)
        {
            twoD[y, x] = parts2[x];
        }
        Div1.InnerHtml += "<tr>";
        Div1.InnerHtml += "<td>" + y + "</td>";
        Div1.InnerHtml += "<td>" + twoD[y, 0].TrimStart('''') + "</td>";
        Div1.InnerHtml += "<td>" + twoD[y, 1] + "</td>";
        Div1.InnerHtml += "<td>" + twoD[y, 2] + "</td>";
        Div1.InnerHtml += "<td><input type = '"submit'" ID='"Button4'" runat='"server'" OnClick='"retunthis'" Text='"stop'">stop</submit></td> ";
        Div1.InnerHtml += "</tr>";
        return null;
    }

我面临的问题是,当按下按钮时没有错误消息,没有正在处理的函数。

目前我只是通过"innerhtml"将数据发送到asp页面。

是否有更好的方式显示我的输出?

注意:感谢jack编辑我的第一个问题,以及那些回复的人。& lt; 3

如何innerhtml出来的asp标签

首先你有一个html标签不匹配。您正在用按钮标记关闭按钮类型的输入标记。这不会修复你的错误,但会促进良好的语法。

Karl的解决方案对我不起作用(我本想留下评论,但我的声誉还不够高)。

我尝试了许多选项,但没有一个能奏效。看来,当ASP。. NET渲染HTML,它将asp:Button转换为您期望的输入类型,但将任何提交事件拉入脚本。

例如:

<asp:Button ID="Button3" Text="Start" runat="server" OnClick="Button3_Click" />

呈现……

<input type="submit" name="ctl00$MainContent$Button3" value="Start" id="MainContent_Button3" />

还呈现了…

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl01'];
if (!theForm) {
    theForm = document.ctl01;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>

我不知道事件信息存储在哪里(可能是视图状态),但似乎你也必须添加这个链接。

直接在HTML中添加按钮可能更容易。如果这是不可能的,也许尝试一个ListView而不是一个div和添加按钮到ListView。