有没有可能做这样的事情
$("#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"));
说到底,JQuery 只是 JavaScript 代码。Javascript 代码在客户端的浏览器中运行。
ASP 标签是一种服务器端结构;在将它们发送到客户端的浏览器之前,它们将被转换为<input type="Text"/>
字段(或多行文本框的其他内容)。
这两个是完全独立的概念,不能真正(直接)相互交互。
如果要通过 JQuery 添加文本框,它不能是 ASP 文本框,它需要是 HTML 文本框。如果您确实需要添加一个 ASP 文本框(但从这里显示的内容来看,您似乎不需要它),那么您需要回发到服务器以添加它。(如果需要,您可以通过 AJAX 异步执行回发。)
您的代码将在浏览器中运行,这意味着您的 asp:TextBox 不会被服务器处理。所以,简而言之,没有。
您不能这样做,因为 ASP.NET 标记在数据发送到客户端之前在服务器端处理。
方法是: -
之前添加这个 ASP.NET 控件,并通过 JQuery 更改它的值,
- 如果需要动态添加控件,使用示例 html 标签,并从表单获取服务器上的数据。