写runat ="服务器"在javascript字符串中

时间:2015-10-30 06:14:16

标签: javascript jquery string

我想要做的就是在javascript中写这个字符串"runat='server'";。并在此处使用:

var dropdown = "<td><asp:DropDownList ID='drpid' runat='server' DataSourceID='SqlDataSource1' DataValueField='Id' DataTextField='Text'></asp:DropDownList></td>"
参数列表

之后出现

错误:SyntaxError:missing)

1 个答案:

答案 0 :(得分:2)

ASP.NET将控件中呈现为字符串定义。

<asp:DropDownList>的输出包含换行符,双引号和对javascript函数的引用,所以它肯定会弄乱你的javascript字符串。

相反,让asp.net在其他地方渲染下拉列表(它甚至可以在一个不可见的div中),如下所示:

<div id="hiddenthingContainer" style="display:none;">
   <asp:dropdownlist /> ... etc
</div>

然后,使用document.getElementById("hiddenthingContainer")或使用jQuery或您喜欢的任何dom库来获取元素。

一旦你拥有它,获得隐藏容器和presto的内容变得很简单,那就是你的字符串。

使用jQuery的例子:

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