asp 使用 c# 创建的按钮未显示
asp button created using c# isn't showing
我在 MyAdoHelperSQL.cs 中创建了一个 asp:Button,它应该出现在 adminRiddles.aspx 中,但是这个按钮没有出现。如果我在 运行 Google Chrome 中的代码时打开“检查”选项,我可以看到代码中 确实存在 这个按钮,但它没有出现。
我还在 adminRiddles.aspx 中创建了另一个具有完全相同代码的按钮(只是为了检查),这个按钮是可见的。
有什么问题?
我该如何解决?
代码:
MyAdoHelperSQL.cs
string printStr = "<div class='riddles'> <table>";
printStr += "<tr> <td> <asp:Button id='add"+idNum+ "' style='float:right; display:block;' runat='server' Text='confirm' Width='70px' OnClick='add_Click'></asp:button> </td> </tr> </table> </div>";
return printStr;
adminRiddles.aspx 使用 c# 函数调用上面的 MyAdoHelperSQL.cs 并将 printstr 字符串打印到形式。
这是工作按钮的代码:
<form runat="server">
<div class='riddles'>
<table>
<tr>
<td>
<asp:Button id='Button2' style='float:right; display:block;' runat='server' Text='confirm' Width='70px' OnClick='add_Click'></asp:button>
</td>
</tr>
</table>
</div>
</form>
谢谢!
您不能像那样将 asp 控件作为原始文本注入,这适用于原始 HTML 但不适用于服务器端需要了解的控件。
最好的方法是将此控件动态添加为实际控件:
adminRiddles.aspx: 给 table 行和 td 一个 ID 并设置为 runat="server"
<div class='riddles' id="riddlesdiv" runat="server">
<table id="riddlestable" runat="server">
<tr id="riddlestr" runat="server">
<td id="riddlestd" runat="server">
</td>
</tr>
</table>
</div>
adminRiddles.aspx.cs:在代码中添加控件
Button addButton = new Button();
addButton.ID = "add" + idNum;
addButton.Text = "confirm";
addButton.Click += add_Click;
riddlestd.Controls.Add(addButton);
如果您有多行,您可能需要更进一步,动态添加 table 行及其内容。
我在 MyAdoHelperSQL.cs 中创建了一个 asp:Button,它应该出现在 adminRiddles.aspx 中,但是这个按钮没有出现。如果我在 运行 Google Chrome 中的代码时打开“检查”选项,我可以看到代码中 确实存在 这个按钮,但它没有出现。
我还在 adminRiddles.aspx 中创建了另一个具有完全相同代码的按钮(只是为了检查),这个按钮是可见的。
有什么问题?
我该如何解决?
代码:
MyAdoHelperSQL.cs
string printStr = "<div class='riddles'> <table>";
printStr += "<tr> <td> <asp:Button id='add"+idNum+ "' style='float:right; display:block;' runat='server' Text='confirm' Width='70px' OnClick='add_Click'></asp:button> </td> </tr> </table> </div>";
return printStr;
adminRiddles.aspx 使用 c# 函数调用上面的 MyAdoHelperSQL.cs 并将 printstr 字符串打印到形式。
这是工作按钮的代码:
<form runat="server">
<div class='riddles'>
<table>
<tr>
<td>
<asp:Button id='Button2' style='float:right; display:block;' runat='server' Text='confirm' Width='70px' OnClick='add_Click'></asp:button>
</td>
</tr>
</table>
</div>
</form>
谢谢!
您不能像那样将 asp 控件作为原始文本注入,这适用于原始 HTML 但不适用于服务器端需要了解的控件。
最好的方法是将此控件动态添加为实际控件:
adminRiddles.aspx: 给 table 行和 td 一个 ID 并设置为 runat="server"
<div class='riddles' id="riddlesdiv" runat="server">
<table id="riddlestable" runat="server">
<tr id="riddlestr" runat="server">
<td id="riddlestd" runat="server">
</td>
</tr>
</table>
</div>
adminRiddles.aspx.cs:在代码中添加控件
Button addButton = new Button();
addButton.ID = "add" + idNum;
addButton.Text = "confirm";
addButton.Click += add_Click;
riddlestd.Controls.Add(addButton);
如果您有多行,您可能需要更进一步,动态添加 table 行及其内容。