gpt4 book ai didi

javascript - 如何附加 etc. .在
标签内使用 javascript?

转载 作者:搜寻专家 更新时间:2023-10-31 23:07:59 26 4
gpt4 key购买 nike

这是我的示例代码:

    <script type="text/javascript">
$(function () {
$('body')
.append('<form id="form1"></form>'); //append a new form element with id mySearch to <body>
$('#form1')
.attr("runat", "server")
.append('<asp:Button runat="server" ID="btn1"/>');
});
</script>

这是我的 body 标签的样子:

    <body>

</body>

我收到这个错误:

Control 'btn1' of type 'Button' must be placed inside a form tag with runat=server.

提前致谢! :)

更新:我试图省略

    .append('<asp:Button runat="server" ID="btn1"/>');

当我运行 Firebug 时,我得到这个:

   <body>
<form id="form1" runat="server"></form>
</body>

它确实有一个 runat="server"。为什么我不能把我的 asp:Button 放在里面? o_O

最佳答案

您更新后的问题仍然是错误的方法。你不能这样做:

$('#form1').attr("runat", "server")

并期望它的工作方式与您输入的一样:

<form runat="server">

因为上面的标记是在服务器端处理的,实际上是在客户端呈现的,如下所示:

<form method="post" action="default.aspx" id="ctl00">

这看起来与您正在做的完全不同。

你有两个选择:

  1. 停止尝试添加任何 ASP.NET 控件(即以 <asp: 开头)或任何以 runat="server" 开头的控件在其中使用 Javascript。如果您真的必须使用 Javascript 执行此操作,请使用常规 HTML 控件。

  2. 停止使用 Javascript,真正正确地使用 <asp:带有 runat="server" 的控件或 HTML 控件然后从后面的代码做你需要做的事情。

现在是切线。

关于你的错误 Control 'btn1' of type 'Button' must be placed inside a form tag with runat=server.假设您正确使用了 <form runat="server">然后再试一次。您可能会发现它(有点)有效!

<form id="form1" runat="server">
<asp:Button ID="btn2" Text="Button 2" runat="server" />
<script>
$(document).ready(function () {
$('#<%= form1.ClientID %>').append('<asp:Button Text="Button 1" ID="btn1" runat="server"/>');
});
</script>
</form>

呈现,但它不正确。除了令人困惑、令人讨厌的代码之外,它之所以有效,是因为 ASP.NET 实际上呈现了 <asp:Button 的 HTML。并将它放在脚本 block 中,所以发送给客户端的是这个(和两个按钮......但仍然不是你输入的内容)。

<input type="submit" name="btn2" value="Button 2" id="btn2" />
<script>
$(document).ready(function () {
$('#form1').append('<input type="submit" name="btn1" value="Button 1" id="btn1" />');
});
</script>

现在有一部分是您没有预料到的。在代码隐藏中,您可以在页面加载时执行此操作:

protected void Page_Load(object sender, EventArgs e)
{
btn1.Text = "This is Awful";
}

而不是有两个按钮说 Button 2Button 1在屏幕上,第二个按钮现在显示 This is Awful .

...但是,这又是完全错误的,并且会破坏大多数其他 <asp:控制你是否尝试这样做(我不确定为什么 ASP.NET 完全转换 Javascript block 中的代码)。因此,请参阅上面的两个选项,了解如何继续。

关于javascript - 如何附加 <asp :Button/> etc. .在 <form> 标签内使用 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com