最近手上负责的一块项目需要使用到ListBox控件,有一个功能是需要用两个ListBox控件来实现,其中一个ListBox中显示数据库中各个参数的名字,另一个ListBox显示被选中的参数在数据库中的具体数据。而我要实现的就是双击左侧ListBox然后右侧ListBox显示具体数值。很显然我需要为ListBox控件添加一个双击函数,从而当我双击某一个项目时调用我在后台写好的函数,接着将数据显示在ListBox2中。
网上很多地方都有相关的问题,但都没有提到怎么在前台调用后台的代码,毕竟数据库的调用和显示需要在后台写好,后来经过本菜鸟不屑的努力搜索发现了一个偷巧的方法,就是在页面中加入一个隐藏输入框,<input type="hidden" name="ListBoxHidden">,为什么要使用这个东西呢?因为我们不用费心思要在Js文件中调用后台方法,只用js代码改变隐藏输入框的value为doubleclicked,然后在后台的Page_Load()函数中判断value是否为doubleclick就行,然后你就可以愉快的在后面添加你要实现的代码了~~~
具体代码:
//隐藏输入框
<input type="hidden" name="ListBox1Hidden" />
//JS文件代码
<script language="javascript">
function ListBox1_DoubleClick() {
document.forms[0].ListBox1Hidden.value = "doubleclicked";
document.forms[0].submit();
}
</script>
//Page_Load()函数
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Params["ListBox1Hidden"] != null && (string)Request.Params["ListBox1Hidden"] == "doubleclicked")
{
//你想要实现的代码段
}
}
强烈欢迎各位参与讨论,共同学习进步!
参考博客:http://www.cnblogs.com/Billy-rao/archive/2012/04/25/2469464.html