我想在我的asp页面上找到一个按钮:
Div1.InnerHtml += "<td><input type=\"submit\" ID=\"Button3\" runat=\"server\" OnClick=\"Button3_Click\" value = \"start\" ></button></td> ";`
错误“Button3_Click”但错误“0x800a1391 - Microsoft JScript运行时错误:'Button3_Click'未定义”不断出现。 Button3_Click
也用于同一环境并在那里工作。
编辑 有关我的代码工作的更多信息
步骤1)接收一个字符串,将其拆分并形成一个二维数组。所有这些都是在c#
中完成的步骤2)然后将输出发送到ASP页面以显示在表格中。该表将有5列,其中n行。前3个cols是来自上面字符串的数据,接下来的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
答案 0 :(得分:0)
首先你有一个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中直接添加HTML中的按钮。如果那是不可能的,可以尝试使用ListView而不是div并将按钮添加到ListView。