写入runat=";服务器";在javascript字符串中
我只想写这个字符串写入runat=";服务器";在javascript字符串中,javascript,jquery,string,Javascript,Jquery,String,我只想写这个字符串“runat='server'在javascript中。在这里使用: var dropdown = "<td><asp:DropDownList ID='drpid' runat='server' DataSourceID='SqlDataSource1' DataValueField='Id' DataTextField='Text'></asp:DropDownList></td>" var下拉菜单=“” 错误是:Synt
“runat='server'代码>在javascript中。在这里使用:
var dropdown = "<td><asp:DropDownList ID='drpid' runat='server' DataSourceID='SqlDataSource1' DataValueField='Id' DataTextField='Text'></asp:DropDownList></td>"
var下拉菜单=“”
错误是:SyntaxError:missing)after参数列表正在呈现字符串定义中的控件
该
的输出包含新行、双引号和对javascript函数的引用,因此它肯定会弄乱javascript字符串
相反,让asp.net在其他地方呈现下拉列表(它甚至可以位于不可见的div中),如下所示:
<div id="hiddenthingContainer" style="display:none;">
<asp:dropdownlist /> ... etc
</div>
那么您想使用客户端代码来创建服务器端控件?服务器不会知道这一点,因为当JS运行时,服务器已经将页面发送到浏览器。是的,确实如此,但该页面再也不会回发到服务器。@OMID,这无关紧要。一旦它进入客户端,服务器就不会知道该字段,也不会呈现它。浏览器将看到一个它不关心的属性,并且通常会忽略它。哦,等等。ASP.NET正在呈现字符串定义中的控件事实上,我希望通过使用javascript向页面添加ASP.NET元素请记住,这可能不会完成您希望它完成的所有操作。Asp.Net在幕后做了很多事情来连接监听器、绑定/呈现视图等。如果可以使用元素,为什么要在这里使用html?并且还可以获得下拉列表div@Grundy是的,您可以只使用元素而不是将其作为字符串获取。谢谢您的回答,但是表中可能有无限多行。当然,下拉列表的数量是无限的。表中的行永远不可能是无限的;)
<div id="hiddenthingContainer" style="display:none">
<asp:DropDownList ID='drpid' runat='server' DataSourceID='SqlDataSource1' DataValueField='Id' DataTextField='Text'></asp:DropDownList>
</div>
<script type="text/javascript">
$(document).ready(function(){
var dropdown = $("#hiddenthingContainer").html()
});
</script>