我想要做的就是在javascript中写这个字符串"runat='server'";
。并在此处使用:
var dropdown = "<td><asp:DropDownList ID='drpid' runat='server' DataSourceID='SqlDataSource1' DataValueField='Id' DataTextField='Text'></asp:DropDownList></td>"
参数列表之后出现错误:SyntaxError:missing)
答案 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>