珈伟工作项目总结(四)之web开发

56、 

xml节点查找
///   <summary>   
    ///   在xmlData中根据ByNodeName的内容ByNodeText,得到同级别节点NodeName的NodeText   
    ///   </summary>   
    ///   <param   name="xmlData"></param>   
    ///   <param   name="ByNodeName"></param>   
    ///   <param   name="ByNodeText"></param>   
    ///   <param   name="NodeName"></param>   
    ///   <returns></returns>   
    public static string GetNodeText(string xmlData, string ByNodeName, string ByNodeText, string NodeName)
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlData);

        XmlNodeList xnList = xmlDoc.SelectNodes(@"//" + ByNodeName);
        foreach (XmlNode xn in xnList)
        {
            if (xn.InnerText.Equals(ByNodeText))
            {
                XmlNodeList xnl = xn.ParentNode.ChildNodes;
                foreach (XmlNode xmlNode in xnl)
                {
                    if (xmlNode.Name.Equals(NodeName))
                        return xmlNode.InnerText;
                }

            }
        }
        return "";
    }

 

57、

 string strReturn = string.Empty;

        //用xml来读取节点
        XmlDocument doc = new XmlDocument();
        //doc.Load(Server.MapPath(@"D:/Program Files/气象生态环境监测系统(GPRS)/Temp/24d5.xml"));
        doc.Load(Server.MapPath(@"../xml/24d5.xml"));
        XmlElement root = doc.DocumentElement;


58、

从xml文件子节点读取数据
 XML文件
<?xml version="1.0"?>
<TransducerFactory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <_EnvirTemp>
    <IsVisualable>false</IsVisualable>
    <Value>22.3</Value>
  </_EnvirTemp>
  <_Temperature1>
    <IsVisualable>false</IsVisualable>
<Value>-0</Value>
  </_Temperature1>
</TransducerFactory>

 

Aspx页面 设置一个显示的标签
<td style="width:186px" align="center">
<asp:Label id="EMITemp_Text" runat="server" Width="186px" CssClass="Label"></asp:Label></td>
引用集
using System.Xml;

//Page_Load页面
protected void Page_Load(object sender, EventArgs e)
    {
        GetNodeText("D:/Program Files/气象生态环境监测系统(GPRS)/Temp/24d5.xml", "TransducerFactory", "_EnvirTemp", "Value");
}

//方法

#region     
    /// <summary>
    /// 在xmlData中根据ByNodeName的内容ByNodeText,得到同级别节点NodeName的NodeText   
    /// </summary>
    /// <param name="xmlData"></param>
    /// <param name="ByNodeName"></param>
    /// <param name="ByNodeText"></param>
    /// <param name="NodeName"></param>
    private void  GetNodeText(string xmlData, string ByNodeName, string ByNodeText, string NodeName)
{
    XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(xmlData); 
        XmlNode XN = xmlDoc.SelectSingleNode(@"//" + ByNodeName + "//" + ByNodeText);
        EMITemp_Text.Text = XN.LastChild.InnerText;
    }
    #endregion


59、

定时刷新整个页面
<meta   http-equiv="refresh"   content="10"/>


60、

报表翻页,在Page_Init中调用生成报表方法,才能翻页
page_load是页面初始化。
page_Init是服务器控件应执行任何创建和设置实例所需的初始化步骤。
Page_Init()主要是初始化一些事件的声明方法
  #region
    /// <summary>
    /// 初始化报表
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Init(object sender, EventArgs e)
    {        
            //调用生成报表方法
            createReport();         
    }
#endregion

 

61、

//需要设置横坐标的间隔和偏移都设为1 不然坐标多了会显示不全
Chart2.ChartAreas[0].AxisX.Interval = 1;
Chart2.ChartAreas[0].AxisX.IntervalOffset = 1;
Chart2.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;
//鼠标放上去会显示数据
            //chart1.Series[0].ToolTip = "X value \t= #VALX{d}\nY value \t= #VALY{D}";            
            EMIDayChart.Series["Series1"].ToolTip = "(#VALX{d},#VALY{D})";


 62、

  <!--曲线图之圆饼图 -->
              <tr>
       <td>
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
            codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" 
            width="600" height="500" id="Column3D" align="bottom" >   
         <param name="movie" value="../FusionCharts/FCF_Pie2D.swf" />   
         <param name="FlashVars" value="&dataURL=../xml/Data.xml&chartWidth=600&chartHeight=500" />   
         <param name="quality" value="high" />   
         <embed src="../FusionCharts/FCF_Pie2D.swf" flashVars="&dataURL=../xml/Data.xml&chartWidth=600&chartHeight=500" quality="high" width="600" height="500" name="Column3D" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />   
      </object> 
       </td></tr> 


63、

解决 ASP.NET Chart 控件出错 为 ChartImg.axd 执行子请求时出错

1. 修改web.Config

<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/TempImages/;" />

将其中的 dir=c:\TempImages\ 的绝对路径 修改外 url=~/TempImages/ 相对路径  (前提条件:网站文件中必须包含 TempImages文件夹)

2. 修改

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

为

<add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

3. 修改

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

为:

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />


64、

 弹出一个大小为<500,400>的窗口
 Response.Write(@"<script   language='javascript'>"   
  +   "window.open('bbb.aspx?s=   "+s+"   ','win','width=500,height=400');\n</"   
  +   "script>"); 


65、

网站发布
1:注意防火墙是否关闭,否则可能导致无法访问发布的网站;
2:通过vs2008先发布网站(每修改一次必需重新发布一次网站)
3:进入管理工具,打开Internet 信息服务(即IIS)
4:在本机网站—默认网站下新建虚拟目录(根据虚拟目录向导进行设置)
5:属性默认为纯脚本  
6:如果其他PC无法打开网站,请先用ping命令尝试,看是否能访问到本机。


66、

ftp发布

修改数据库引用路径
设置
若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。

<!-- Web.Config 配置文件 -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>(2010-5-26 9:15)


67、

/// 设置默认页面编码格式
  </runtime>
  <!--<system.web>
    <globalization requestEncoding="GB2312" responseEncoding="GB2312" fileEncoding="GB2312"/>
  </system.web>-->
</configuration>


 

68、

给数据表增加选择
 
aspx页面
<script language="javascript" type="text/javascript">   
     function selectAll(obj)
    {
        var theTable  = obj.parentElement.parentElement.parentElement;
        var i;
        var j = obj.parentElement.cellIndex;
        
        for(i=0;i<theTable.rows.length;i++)
        {
            var objCheckBox = theTable.rows[i].cells[j].firstChild;
            if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
        }
    }   
</script>

<!—控件
  <asp:GridView ID="ChartCharacterAddGv" width="100%" AllowPaging="True"  runat="server" 
                    AllowSorting="True" CssClass="GridViewStyle" AutoGenerateColumns="False" 
                    onpageindexchanging="ChartCharacterAddGv_PageIndexChanging"
                      DataKeyNames="CCID" OnRowDataBound="ChartCharacterAddGv_RowDataBound">
                      <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <asp:CheckBox ID="CheckBox1" runat="server" Checked="False" Text="<%# Container.DataItemIndex + 1%> " />
                            </ItemTemplate>
                            <HeaderTemplate>
                                <input id="CheckAll" type="checkbox"  οnclick="selectAll(this)" /> 全选
                            </HeaderTemplate>
                        </asp:TemplateField>
                         <asp:BoundField DataField="CCID" HeaderText="字段编号" ReadOnly="True" 
                                  ItemStyle-Width="30%">  
                              </asp:BoundField> 
                         <asp:BoundField DataField="CCName" HeaderText="字段名称" ReadOnly="True" 
                                  ItemStyle-Width="30%">  
                              </asp:BoundField>  
                         <asp:BoundField DataField="DelFlg" HeaderText="删除标识" ReadOnly="True" 
                                  ItemStyle-Width="30%">  
                              </asp:BoundField>     
                         <asp:BoundField DataField="CCID" Visible="False" />                    
                        </Columns>
                        <FooterStyle />
                        <RowStyle CssClass="RowStyle" />
                        <EmptyDataRowStyle  />
                        <PagerStyle CssClass="PagerStyle" />
                        <SelectedRowStyle CssClass="SelectedRowStyle" />
                        <HeaderStyle CssClass="HeaderStyle" />
                        <EditRowStyle CssClass="EditRowStyle" />
                        <AlternatingRowStyle CssClass="AltRowStyle" />
                    </asp:GridView>    


Aspx.cs页面
#region
    ///表中进行选择
    /// <summary>
    /// 获取或是设置已选中项的集合
    /// </summary>
    protected ArrayList SelectedItems
    {
        get
        {
            return (ViewState["mySelectedItems"] != null) ? (ArrayList)ViewState["mySelectedItems"] : null;
        }
        set
        {
            ViewState["mySelectedItems"] = value;
        }
    }


    protected void ChartCharacterAddGv_DataBinding(object sender, EventArgs e)
    {
        //在每次重新绑定之前,通过调用CollectSelected方法从当前页收集选中项的情况
        CollectSelected();
    }


    protected void ChartCharacterAddGv_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        //这里的处理是为了回显之前选中的情况
        if (e.Row.RowIndex > -1 && this.SelectedItems != null)
        {
            DataRowView row = e.Row.DataItem as DataRowView;
            CheckBox cb = e.Row.FindControl("CheckBox1") as CheckBox;
            if (this.SelectedItems.Contains(row["CCID"].ToString()))
                cb.Checked = true;
            else
                cb.Checked = false;
        }
    }

    /// <summary>
    /// 从当前页收集选中项的情况
    /// </summary>
    protected void CollectSelected()
    {
        ArrayList selectedItems = null;
        if (this.SelectedItems == null)
            selectedItems = new ArrayList();
        else
            selectedItems = this.SelectedItems;
        for (int i = 0; i < this.ChartCharacterAddGv.Rows.Count; i++)
        {
            string CCID = this.ChartCharacterAddGv.Rows[i].Cells[1].Text;
            CheckBox cb = this.ChartCharacterAddGv.Rows[i].FindControl("CheckBox1") as CheckBox;
            if (selectedItems.Contains(CCID) && !cb.Checked)
                selectedItems.Remove(CCID);
            if (!selectedItems.Contains(CCID) && cb.Checked)
                selectedItems.Add(CCID);
        }
        // this.SelectedItems = selectedItems;        
    }
#endregion



 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值