抓取ajax动态网页java(接着高级查询中的字段都是在前台写好的)
优采云 发布时间: 2022-04-07 09:26抓取ajax动态网页java(接着高级查询中的字段都是在前台写好的)
继续上一个高级查询。下拉框中的字段都写在前台。这对于系统的灵活性来说是一个很大的缺点。
解决方案:
在数据库中创建类型字典表。在数据库表的下拉框中对应要添加的项目的中英文名称。
下拉框动态绑定数据库表中的必填字段。
高级查询
在高级查询点击事件中,除了显示查询框外,还为下拉框的绑定字段添加了一个功能。这是 addItems()。
实现代码:
//动态绑定下拉框项
function addItems() {
$.ajax({
url: "addItem.ashx/GetItem", //后台webservice里的方法名称
type: "post",
dataType: "json",
contentType: "application/json",
traditional: true,
success: function (data) {
for (var i in data) {
var jsonObj =data[i];
var optionstring = "";
for (var j = 0; j < jsonObj.length; j++) {
optionstring += "" + jsonObj[j].chinesename + "";
}
$("#dpdField1").html("请选择... "+optionstring);
}
},
error: function (msg) {
alert("出错了!");
}
});
};
背景代码:
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
GetItem(context);
}
public void GetItem(HttpContext context)
{
string ReturnValue = string.Empty;
BasicInformationFacade basicInformationFacade = new BasicInformationFacade(); //实例化基础信息外观
DataTable dt = new DataTable();
dt = basicInformationFacade.itemsQuery(); //根据查询条件获取结果
ReturnValue = DataTableJson(dt);
context.Response.ContentType = "text/plain";
context.Response.Write(ReturnValue);
//return ReturnValue;
}
#region dataTable转换成Json格式
///
/// dataTable转换成Json格式
///
///
///
public string DataTableJson(DataTable dt)
{
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("{\"");
jsonBuilder.Append(dt.TableName.ToString());
jsonBuilder.Append("\":[");
for (int i = 0; i < dt.Rows.Count; i++)
{
jsonBuilder.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonBuilder.Append("\"");
jsonBuilder.Append(dt.Columns[j].ColumnName);
jsonBuilder.Append("\":\"");
jsonBuilder.Append(dt.Rows[i][j].ToString());
jsonBuilder.Append("\",");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("]");
jsonBuilder.Append("}");
return jsonBuilder.ToString();
}
#endregion
使用ajax和json将数据源绑定到首页中的select。后台通过两个函数获取数据库表的数据,并将数据转换为Json格式返回给前台。前台收到数据后,解析数据,在下拉框中获取需要绑定的字段。绑定时,下拉框的每一项分别绑定一个文本和一个值。显示文本供用户选择。value值是用户选择一个字段,获取该字段的值,进行后台查询字段。