Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
写入runat=";服务器";在javascript字符串中_Javascript_Jquery_String - Fatal编程技术网

写入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>