是否可以做这样的事情
$("#popupForgot").append("<asp:TextBox ID='emailTextF' runat='server' Width='200px' Text='" + $.cookie("forLogin") + "'></asp:TextBox>")
我需要将一个asp.net元素附加到div标签,该标签将具有cookie值作为其文本。我已尝试使用上面的代码,但它不起作用。
提前谢谢
答案 0 :(得分:4)
不可能这样做,因为asp:TextBox
是通过服务器端呈现的,而jQuery适用于客户端。
但是,您可以使用asp:TextBox
控件呈现文本框,然后可以使用jQuery更改其值:
$("#emailTextF").text($.cookie("forLogin"));
<强>更新强>
事实证明,asp:TextBox
呈现的ID不等于id
参数(在asp:TextBox
中使用),请尝试:
$("#<%= emailTextF.ClientID %>").text($.cookie("forLogin"));
答案 1 :(得分:2)
JQuery最终只是JavaScript代码。 Javascript代码在客户端的浏览器中运行。
ASP标签是服务器端构造;在将它们发送到客户端的浏览器之前,它们将被转换为<input type="Text"/>
字段(或其他用于多行文本框的字段)。
这两个是完全独立的概念,无法真正相互影响(直接)。
如果你想通过JQuery添加文本框,它不能是一个ASP文本框,它需要是一个HTML文本框。如果你真的需要添加一个ASP文本框(你似乎不需要你在这里显示的那个),那么你需要回发到服务器来添加它。 (如果需要,可以通过AJAX异步进行回发。)
答案 2 :(得分:1)
您的代码将在浏览器中运行,这意味着您将使用asp:TextBox将不会被服务器处理。所以,简而言之,没有。
答案 3 :(得分:0)
在数据发送到客户端之前,您无法执行此操作,导致在服务器端处理ASP.NET标记
方法是:
- 之前添加这个ASP.NET控件,并通过JQuery更改它的值,
- 如果您需要添加控件动态,请使用示例html标记,并从表单中获取服务器上的数据。