3

有没有可能做这样的事情

$("#popupForgot").append("<asp:TextBox ID='emailTextF' runat='server' Width='200px' Text='" + $.cookie("forLogin") + "'></asp:TextBox>")

我需要将一个 asp.net 元素附加到一个 div 标记,该标记将具有 cookie 值,因为它是文本。我已经尝试使用上面的代码,但它不起作用。

先感谢您

4

4 回答 4

4

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

但是,您可以使用控件呈现您的文本框,asp:TextBox然后您可以使用 jQuery 更改其值:

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

更新

事实证明,asp:TextBox渲染的 id 不等于id参数(在内部使用asp:TextBox),试试这个:

$("#<%= emailTextF.ClientID %>").text($.cookie("forLogin"));
于 2012-10-10T15:11:50.570 回答
2

说到底,JQuery 只是 JavaScript 代码。Javascript 代码在客户端的浏览器中运行。

ASP 标签是一种服务器端结构;在将它们发送到客户端的浏览器之前,它们将被转换为<input type="Text"/>字段(或多行文本框的其他内容)。

这两个是完全独立的概念,不能真正(直接)相互交互。

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

于 2012-10-10T15:13:34.440 回答
1

您的代码将在浏览器中运行,这意味着您的 asp:TextBox 不会被服务器处理。所以,简而言之,没有。

于 2012-10-10T15:13:16.767 回答
0

您不能这样做,因为 ASP.NET 标记在数据发送到客户端之前在服务器端处理。
方法是: -
之前添加这个 ASP.NET 控件,并通过 JQuery 更改它的值,
- 如果需要动态添加控件,使用示例 html 标签,并从表单获取服务器上的数据。

于 2012-10-10T15:14:30.633 回答