BST项目技术积累

来源:互联网 发布:2017年8月m2数据 编辑:程序博客网 时间:2024/06/05 15:46

  1)给GridView的某行加颜色,在RowDataBound事件中

2)根据XML文档去构建表结构

     经过上周老万及其他同事的钻研,上周的技术问题(Ajax中与服务器控件的交互使用)终于有个结果,现把解决方案与大家共享.
   由于该问题主要核心是怎样在脚本的ajax回调函数里面先调用取MODS数据(放在Session里面),然后再触发把Session值绑定到服务器控件上面,上周曾经采用过两种方案,
第一:在Page_Load中给服务器控件绑定脚本事件取出Mods数据放到Session中去(ButMODS.Attributes.Add("onclick", "javascript:getDataFormMods();");)然后再在ButMODS单击中把Session绑定到服务器控件上去. 这种方案按道理是可行的,但是我在测试中发现,执行时它会在执行脚本事件getDataFormMods时突然跳到ButMODS单击事件里面然后又返回到事件getDataFormMods执行,反复这样调用,引起的问题可想而知.
第二:在getDataFormMods()脚本文件最后取出数据后面加上这么一句document.getElementById('ButMODS').click();,意思是去触发绑定服务器事件.但问题有出现了,首先我在自己的开发环境中去测试没有问题,但是发布到服务器中,然后用其他客户端去调用报错:Access is denied.本意是不能访问服务器控件.
第三种也是可以解决办法的一种:也是在getDataFormMods()脚本文件最后去调用服务器中的回调函数目的是返回MODS数据绑定并实例化一个datagird类
            var cc= document.getElementById("DG"); //DG是服务器控件GridView
            cc.outerHTML=STS.Web.CarrierBooking.CarrierBookingImportMods.TestBindData().value; //取出的html赋值替换原先的html

参考资料类似
http://bc.webwoo.net/bencandy-17-35582-1.htm
 
如果第三种方案有同事有更好的办法,请及时与我取的联系,感谢大家的无私.
在此感谢老万及其他同事的辛苦研究.谢谢!
其实第二种办法也是解决问题的办法,只是把服务器控件换成html控件。最后解决问题的也是第二种办法。

4)javascript中怎样给table中新建一行,不能象
C#:

ds.Tables[0].Rows[i] = ds.Tables[0].NewRow();
......
dtShippingOrder.Rows.Add(dr);
javascript中应该是
ds.Tables[0].Rows[i] = [];    //先新建一列为空
ds.Tables[0].Rows[i]["SO_NO"] = arrayofstrings[i];
不然的话,会产生第二行添加的数据会冲掉第一行的数据。
5)ajax中与服务器DataSet的交换
脚本中:
            function areaResult()
            {
                var city = 1;                               
                cb_GetModsData.GetCityList(city, get_mods_Result_CallBack);
            }
             function get_mods_Result_CallBack(response)   //response-空的DataSet类型
            {
                    var ds = response.value;
                    .........;
                    cb_GetModsData.ViewDataset(ds);
            }
后台代码.cs中:
    [AjaxMethod()]
    public DataSet GetCityList(int povinceid)
    {
        DataSet ds = CreateDataTable();
        return ds;
    }
    [AjaxMethod()]    
    public void ViewDataset(DataSet vdata)
    {
           vdata.....;
    }
6)
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('"+opt+" unsuccessful')</script>");          弹出窗体信息
绑定下拉控件
        this.DropCorg.DataSource = table.DefaultView;
        this.DropCorg.DataTextField = "OrgName";
        this.DropCorg.DataValueField = "OrgID";
        this.DropCorg.DataBind();
7)Context.Items["MyObject"]=主要用法 1、在两个表单之间传递数据
Context.Items["WebForm1List"]=list; Server.Transfer("WebForm2.aspx");
 对于WebForm2
ArrayListlist=Context.Items["WebForm1List"]asArrayList;

原创粉丝点击