最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

父子窗體間傳遞JSON格式的數據的代碼

 更新時間:2010年12月25日 22:32:16   作者:  
在開發(fā)的項目中,遇到這樣一個例子:當用戶選擇某一個用戶名時,彈出當前用戶的評分卷,該評分卷列出了所有一級評分項,讓用戶進行評分操作。
如果某個一級評分項包含評分子項,則點擊該評分項時,再彈出一個新窗口,新窗體中列出了當前評分項的所有評分子項列表,供用戶進行操作。用戶操作完成后,點擊“確定”按鈕,則返回到父窗體,在子窗體中所有的操作結果,同時要帶到父窗體中。同時,如果用戶再次點擊該評分項,則在彈出子窗體的同時,要將上次操作的結果綁定到對應的操作項上。

  上面描述的例子,就涉及到了一個父子窗體間的數據傳遞。如何實現這一數據傳遞,當然有很多方法。這里只是記錄一下在這個例子中我使用的方法。我的方法是在子窗體點擊“確定”按鈕時,將操作結果構造成json格式的字符串,通過調用父窗體上的方法:opener.方法(),將json格式數據傳遞到父窗體上。

  此例中構造的json數據類似如下格式:

  {"MyData":[

    {"bh":"111","lx":"1","df":"10","bz":"aaa"},

    {"bh":"112","lx":"2","df":"20","bz":"bbb"},

    {"bh":"113","lx":"2","df":"30","bz":"ccc"}

  ]}

  此處子項打分需要保持的分別是bh:編號;lx:類型;df:得分;bz:備注。

  按照自己的需要,可以再自己增加需要保持的項。構造此json數據可以放在前臺,也可以放在后臺。

  在此例中,我是放置后臺的。代碼如下:

復制代碼 代碼如下:

StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("@{\"");
jsonBuilder.Append("MyData");
jsonBuilder.Append("\":[");

int k = bh.Split(',').Length + 1;
for (int i = 0; i < bh.Split(',').Length; i++)
{
tem += "update KH_PFX set DF = '"+EncriptLib.EncriptLib.EncodeCode(Convert.ToDouble(df.Split(',')[i].ToString().Trim()))+"',";
tem += "BZ = '"+bz.Split(',')[i].ToString().Trim()+"',PFRXM = '"+Session["XM"].ToString()+"',";
tem += "PFRBH = '"+Session["YHBH"].ToString()+"',PFRQ = to_date('"+DateTime.Now.ToShortDateString()+"','yyyy-MM-dd')";
tem += " where BH = '"+bh.Split(',')[i].ToString().Trim()+"'";
tem += "卐"; //此處用此特殊的符號來分隔sql語句

jsonBuilder.Append("{\"bh\":" + "\"" + bh.Split(',')[i].ToString().Trim() + "\"" + ",");
jsonBuilder.Append("\"lx\":" + "\"" + lx.Split(',')[i].ToString().Trim() + "\"" + ",");
jsonBuilder.Append("\"df\":" + "\"" + df.Split(',')[i].ToString().Trim() + "\"" + ",");
jsonBuilder.Append("\"bz\":" + "\"" + bz.Split(',')[i].ToString().Trim() + "\"" + "},");
}
if(tem != "")
{
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("]");
jsonBuilder.Append("}");

Page.ClientScript.RegisterClientScriptBlock(GetType(), "cg", "<Script>window.close();opener.GetZXDF('zxdf" + Request.QueryString["bh"].ToString() + "','" + parent_df.Text.Trim() + "','" + jsonBuilder.ToString() + "',\"" + tem + "\");</Script>");
}

"@"符號可以防止在jsonBuilder.ToString()后,轉義字符“\”的消失。

  調用父窗體的GetZXDF()方法,將json數據傳遞給父窗體。

  下面給出子窗體加載時,綁定json數據的代碼

復制代碼 代碼如下:

$(function() {

//加載時獲取json,然后綁定打分結果
var obj = opener.GetJson($("#txt_YCBH").val());
if($.trim(obj) != ""){
obj = "(" + obj + ")";
obj = eval(obj);
var data = obj.MyData;
$.each(data, function(i, n) {
if(n.lx == "1"){
//直接打分類的綁定
$("#lx" + n.bh).siblings("input").eq(0).val(n.df);
$("#lx" + n.bh).siblings("input").eq(1).val(n.df);
$("#lx" + n.bh).parent().parent().next().children().children("textarea").val(n.bz);
}
if(n.lx == "2"){
//選項打分類的綁定

$("#lx" + n.bh).siblings("input:text").eq(1).val(n.df);
$("#lx" + n.bh).siblings("input:checkbox").each(function(){
if($.trim($(this).val()) == $.trim(n.df)){
$(this).attr("checked",true);
}
});
$("#lx" + n.bh).parent().parent().parent().next().children().children("textarea").val(n.bz);
}
});

opener.GetJson()方法是父窗體上用來向子窗體傳遞json數據的方法,代碼如下:
復制代碼 代碼如下:

  //通過編號獲取對應評分項的子項打分結果的json字符串
function GetJson(p_bh)
{

   //$("#zxdf" + p_bh).siblings("input").eq(1).val()中保存的就是子窗體傳遞給父窗體的json數據
return $("#zxdf" + p_bh).siblings("input").eq(1).val();
}

相關文章

  • 深入淺析同源與跨域,jsonp(函數封裝),CORS原理

    深入淺析同源與跨域,jsonp(函數封裝),CORS原理

    這篇文章主要介紹了同源與跨域,jsonp(函數封裝),CORS原理,從同源政策中Ajax限制,到跨域問題以及跨域問題的解決方法幫大家更加深入的去了解其中原理
    2021-08-08
  • javascript 循環(huán)讀取JSON數據的代碼

    javascript 循環(huán)讀取JSON數據的代碼

    服務端向客戶端返回了一串JSON格式的數據。在有些時候,因為某些特殊的原因我們不知道原始的key值,因此我們此時無法象正常一樣通過key值,來獲取value值。這時我們必須循環(huán)讀取JSON對象數據。廢話少說,來看例子。
    2010-07-07
  • js+json用表格實現簡單網站左側導航

    js+json用表格實現簡單網站左側導航

    閑暇之余,制作一用表格實現的簡單的網站導航條,分享給大家。這里的數據基于json格式,學習json的朋友可以參考下。
    2010-04-04
  • json編寫簡單一例

    json編寫簡單一例

    主要是了解一下json的簡單寫法與應用,方便想學習json的朋友
    2008-08-08
  • json的前臺操作和后臺操作實現代碼

    json的前臺操作和后臺操作實現代碼

    通常情況下,json的在項目中的應用都是在后臺把數據傳到前臺,然后前臺再獲取json中的數據.
    2012-01-01
  • JSON 必知必會 觀后記

    JSON 必知必會 觀后記

    這篇文章主要介紹了個人看了JSON 必知必會一書的讀后感,此書從各個方面介紹了json的一些注意事項與優(yōu)缺點。
    2016-10-10
  • JSON 數據格式詳解

    JSON 數據格式詳解

    JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。JSON采用完全獨立于語言的文本格式,這些特性使JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成
    2017-09-09
  • 實現單層json按照key字母順序排序的示例

    實現單層json按照key字母順序排序的示例

    下面小編就為大家分享一篇實現單層json按照key字母順序排序的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • JSON掃盲帖 JSON.as類教程

    JSON掃盲帖 JSON.as類教程

    如果json字符串是從html用FlashVars來傳遞參數時那么字符串中的第一個雙引號(包括雙引號)以后的內容就不會得到傳送.
    2009-02-02
  • JQuery用$.ajax或$.getJSON跨域獲取JSON數據的實現代碼

    JQuery用$.ajax或$.getJSON跨域獲取JSON數據的實現代碼

    這篇文章主要介紹了JQuery用$.ajax或$.getJSON跨域獲取JSON數據的實現代碼,需要的朋友可以參考下
    2017-09-09

最新評論

馆陶县| 霍林郭勒市| 盐边县| 黄冈市| 大石桥市| 吴江市| 九台市| 扎赉特旗| 黄浦区| 赤峰市| 沈阳市| 峨山| 合肥市| 黄石市| 绍兴市| 黄浦区| 潞城市| 拉萨市| 诏安县| 高雄市| 同德县| 贡嘎县| 方城县| 东阿县| 宜黄县| 富蕴县| 白河县| 上虞市| 上思县| 白山市| 深圳市| 新绛县| 沂源县| 文昌市| 北宁市| 南丰县| 南投县| 华容县| 绵阳市| 高邮市| 黔江区|