C# 通过jQuery.Append()追加ASP.Net元素

C# 通过jQuery.Append()追加ASP.Net元素,c#,jquery,asp.net,append,C#,Jquery,Asp.net,Append,有可能这样做吗 $("#popupForgot").append("<asp:TextBox ID='emailTextF' runat='server' Width='200px' Text='" + $.cookie("forLogin") + "'></asp:TextBox>") $(“#弹出窗口”)。追加(“”) 我需要将一个asp.net元素附加到一个div标记上,该标记将cookie值作为文本。我试过上面的代码,但不起作用 提前谢谢这是不可能的,因为as

有可能这样做吗

$("#popupForgot").append("<asp:TextBox ID='emailTextF' runat='server' Width='200px' Text='" + $.cookie("forLogin") + "'></asp:TextBox>")
$(“#弹出窗口”)。追加(“”)
我需要将一个asp.net元素附加到一个div标记上,该标记将cookie值作为文本。我试过上面的代码,但不起作用


提前谢谢

这是不可能的,因为
asp:TextBox
是通过服务器端呈现的,而jQuery是在客户端工作的

但是,您可以使用
asp:textbox
控件呈现文本框,然后使用jQuery:

$("#emailTextF").text($.cookie("forLogin"));
更新

结果是
asp:TextBox
呈现的id不等于
id
参数(在
asp:TextBox
中使用),请尝试以下操作:

$("#<%= emailTextF.ClientID %>").text($.cookie("forLogin"));
$(“#”)文本($.cookie(“forLogin”);

您的代码将在浏览器中运行,这意味着服务器不会处理您的asp:TextBox。因此,简而言之,不是。JQuery最终只是JavaScript代码。Javascript代码在客户端浏览器中运行

ASP标记是服务器端构造;在发送到客户端浏览器之前,它们将被转换为
字段(或多行文本框的其他内容)

这两个概念完全不同,不能(直接)相互作用


如果要通过JQuery添加文本框,它不能是ASP文本框,必须是HTML文本框。如果你真的需要添加一个ASP文本框(从这里显示的内容来看,你似乎不需要它),那么你需要回发到服务器来添加它。(如果需要,您可以通过AJAX异步回发。)

您不能这样做,因为在数据发送到客户端之前,ASP.NET标记在服务器端处理。
方法是:
-在之前添加此ASP.NET控件,并通过JQuery更改其值,

-如果您需要动态添加控件,请使用示例html标记,并从表单获取服务器上的数据。

您只能使用jquery附加html控件,而不能附加ASP.NET控件。您可以发布文本框的html吗?您是否在
文档中执行了JavaScript代码。准备好了吗?
?ASP将更改文本框的ID;您需要确保生成的ID在javascript中可用,或者在文本框上设置适当的属性以不更改ID。@R.App它可能不起作用的原因是.Net控件的客户端ID通常与原始服务器端ID不同。您可能必须使用以在获取正确的客户端IDruntime@Rondel是的,似乎是这样,我已经更新了我的答案来解决这个问题。