比如combobox组件。按照EasyUI官方的说法加载数据的方式有两种:
1、“通过<input>标签创建下拉列表框。”
2、“使用Javascript创建下拉列表框。”
第一种加载的方式例子:data-options="valueField:'Value',textField:'Text',data:@ViewBag.province“
第二种加载数据的方式是通过访问url获取后台数据。
我的问题是这样的:
如果采用第一种方式,html页面中的代码比较多,看着也不舒服。但是如果采用第二种方式加载数据,加入页面上有多个combobox组件,就需要多次访问后台?
你后台返回一个集合绑定到viewBag或者返回一个实体,集合放到实体里。
直接在页面上foreach不就完了么。
这个是一个好办法,我现在觉得既然使用EasyUI,还是使用JS的方法,将常用的一些组件的方法封装一下,代码看着还是比较舒服的。
给你个列子:1.所属班级: <input class="easyui-combobox" id="s_gradeId" name="s_gradeId" size="10" data-options="panelHeight:'auto',editable:false,valueField:'id',textField:'gradeName',url:'gradeComboList'"/>
懂了吗,万一不行就用下拉框实现
2.
性别: <select class="easyui-combobox" id="s_sex" name="s_sex" editable="false" panelHeight="auto">
<option value="">请选择...</option>
<option value="男">男</option>
<option value="女">女</option>
</select> 这里是更新option的value值,用ajax发请求 获取到后端的数据动态赋值。
其实使用第一种比较好
你可以自己扩展@Html
或者使用开源的http://www.oschina.net/p/easyuimvc 等等
这样确实可以少一次请求!因为第二种使用了ajax访问后台了,只是easyui封装了一下,你可以浏览器f12监控下网络,然后你就清楚了