抓取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值是用户选择一个字段,获取该字段的值,进行后台查询字段。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线