ZEM总结

                                                                                     项目总结

1、自定义错误页  webconfig中定义



 <customErrors mode="On" defaultRedirect="ApplicationErroy.aspx" ></customErrors>
 
 2、引用图片时<img src="admin/images/smaill/<%=logo() %>" 
 路径前不要加../视情况而定
 
 3、前台读取后台中的一个变量(变量同样如此)
 
 后台
  public string f2()
        {
            Maticsoft.Model.zSundry modelzs = bllzs.GetModel(1);
            string flash2url = modelzs.flash2url;
            return flash2url;
        }
前台
 <li><a href="<%=f1() %>" 
 
 4、服务器控件中绑定数据
 <a href="article.aspx?ID=<%#Eval("newsId") %>"
 
 5、 一般新闻的显示方式  
     
 <asp:DataList ID="List_News" runat="server" Width="100%">
                <HeaderTemplate>
                    <table width="98%"  border="0" align="center" cellpadding="0" cellspacing="0" style="font-size:13px;color:Black;">  
                </HeaderTemplate>
                <ItemTemplate>
                        <tr>
                          <td height="28" align="left" style="border-bottom:dotted 1px #000" >·<a href="article.aspx?ID=<%#Eval("newsId") %>" target="_blank"><%#Eval("newsTitle") %></a></td>
                          <td align="center" style="margin-left:50px;border-bottom:dotted 1px #000"><%#Eval("newsTime")%></td>
                        </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:DataList>
        
 6 、   AspNetPager.dll的使用
 
 
 protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
        {
            AspNetPager1.CurrentPageIndex = e.NewPageIndex;
            bind();
        }
 
 <webdiyer:AspNetPager ID="AspNetPager1" runat="server"
              FirstPageText="首页"
     lastpagetext="尾页" nextpagetext="下一页" onpagechanging="AspNetPager1_PageChanging"
                    pagesize="15" prevpagetext="上一页" showpageindexbox="Always" submitbuttontext="Go"
                    textafterpageindexbox="页" textbeforepageindexbox="转到">
              </webdiyer:AspNetPager>
 7、网站主页JS模拟flash
 
 
 
 8、验证码 ZEMimagecode
                if (!IsPostBack)
                    {
                        Image1.Src = "Zmeimagecode.aspx";
                    }

 string s = Session["CheckCode"].ToString().ToLower();  验证码的值
 
 刷新方法(有缺陷)Page.ClientScript.RegisterStartupScript(this.GetType(), "", "", true);
 
 9、文本编辑器
 <FCKeditorV2:FCKeditor ID="FCKNotice" runat="server" Height="150px">
                </FCKeditorV2:FCKeditor>
 
 
 10、图片转宽高
  string sPic = logURl.Text.ToString();
            if (FileUpload2.HasFile)
            {
                string savePath = @"../admin/images/";
                string savePath1 = @"../admin/images/smaill/";
                string savePath3 = @"../admin/images/";
                string savePath4 = @"../admin/images/smaill/";
                string fileName = Server.HtmlEncode(FileUpload2.FileName);
                string extension = System.IO.Path.GetExtension(fileName);
                string ImageName = null;
                if ((extension == ".jpg") | (extension == ".gif"))
                {
                    ImageName = "logo" + extension;
                    savePath += ImageName;
                    savePath1 += ImageName;
                    savePath3 += sPic;
                    savePath4 += sPic;
                    savePath = Server.MapPath(savePath);
                    savePath1 = Server.MapPath(savePath1);
                    savePath3 = Server.MapPath(savePath3);
                    savePath4 = Server.MapPath(savePath4);
                    FileUpload2.SaveAs(savePath);
                    //生成小图
                    ImageClass.ImageClass imageClass = new ImageClass.ImageClass();
                    imageClass.ShowThumbnail(savePath, savePath1, 234, 70);
                    sPic = ImageName;
                    //删除旧图片
                    i180cn.i180cn.FilePicDelete(savePath3);
                    i180cn.i180cn.FilePicDelete(savePath4);
appcode


 11、随机提取10条记录从数据库中
 
 SELECT TOP 10 * FROM zProduct ORDER BY NEWID()
 
 12、repeate传参   常用于根据新闻标题查询新闻内容
 
 
 <asp:Repeater ID="repNewsList" runat="server" OnItemDataBound="repNewsList_ItemDataBound">
                                    <ItemTemplate>
                                      
                                        <li> <a href='shownewsdetail.aspx?newsId=<%#Eval("NewsId") %>' target="_blank"><%#Eval("Title") %></a></li>
                                        </ItemTemplate>
                                        <AlternatingItemTemplate>
                                        <li> <a href='shownewsdetail.aspx?newsId=<%#Eval("NewsId") %>' target="_blank"><%#Eval("Title") %></a></li>
                                        </AlternatingItemTemplate>
                                        </asp:Repeater>








1、datagrid中:
<asp:hyperlinkcolumn target="_blank" datanavigateurlfield="m_id" datanavigateurlformatstring="view.aspx?id={0}" datatextfield="m_title"></asp:hyperlinkcolumn>
2、datalist、repeater中
<asp:repeater runat="server" id="repeater1">
<itemtemplate>
<a href='<%#databinder.eval(container.dataitem,"url")%>'><%#databinder.eval(container.dataitem,"linkname")%></a><br>
</itemtemplate>
</asp:repeater> 
 
 
 13、解决自动编号不能连接问题和分页问题
 
create table #tmp
(
productclassid  int IDENTITY (1,1) not null,
productTypeNumber nvarchar(50),
productTitle nvarchar(50),
productContent nvarchar(50),
productImage nvarchar(50),
productTime nvarchar(50),
productPV nvarchar(50)
)


select * from (insert into #tmp 
select productTypeNumber,productTitle,productContent,productImage,productTime,productPV from zProduct
where productTypeNumber='1') where productclassid between 1  and 15
order by productclassid DESC


insert into #tmp 
select productTypeNumber,productTitle,productContent,productImage,productTime,productPV from zProduct
where productTypeNumber='1'








drop table #tmp














--查询主键
EXEC sp_pkeys @table_name='zProduct'








--删除主键
alter table zProduct drop constraint pk_productId 
--删除主键列
alter table zProduct drop column productId   
--设置自动编号并创建新列
alter table zProduct add productId int NOT NULL IDENTITY (1, 1) 
--增加主键
ALTER TABLE zProduct ADD CONSTRAINT [pk_productId] PRIMARY KEY(productId)  


 
 
 14、SQl获取刚插入数据的主键值
 PHP中有相关函数,.NET中以前都是再查询MAX(ID),SQLServer2005以后,可以输入SQL语句" INSERT INYO Table_Name OUTPUT inserted.ID VALUES ('a','b')",然后用ExecuteScalar()方法执行(返回第一行第一列的Object类型)。就可以获得刚插入行的主键,这里OUTPUT指出需要有一个返回值,inserted.ID是固定用法,ID是要返回的列的名称。
 
 sql语句如下:


INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName; 在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取sql server主键的值


在程序中获取返回值:


public int sqlexecutereader(string sql)   {   DBopen();   SqlCommand myComm = new SqlCommand(sql, Connection);   int newID = Convert.ToInt32(myComm.ExecuteScalar());   DBclose();   return newID;   } 当然在此处主键是int类型的自动增加的。DBopen();DBclose();的操作在此就不多说了。
 
 
 
 15、Page.ClientScript.RegisterStartupScript(this.GetType(), "a", "alert('还没有登录!')", true);   .net提示  不会影响布局
 
 
 
 16、全选批量删除
         <script language="javascript">
  function selectAll(obj)
    {
        var allInput = document.getElementsByTagName("input");
        var loopTime = allInput.length;
        for(i = 0;i < loopTime;i++)
        {
            if(allInput[i].type == "checkbox")
            {
                allInput[i].checked = obj.checked;
            }
        }
    }
    function judgeSelect() {
        var result = false;
        var allInput = document.getElementsByTagName("input");
        var loopTime = allInput.length;
        for (i = 0; i < loopTime; i++) {
            if (allInput[i].checked) {
                result = true;
                break;
            }
        }
        if (!result) {
            alert("请选则要更改的记录!");
            return result;
        }
        result = confirm("你确认要通过选定的留言吗?");
        return result;
    }
</script>




<asp:CheckBox ID="CheckALL" runat="server" Text="全选" οnclick="selectAll(this)" />




<asp:LinkButton ID="LinkButton1" runat="server" ForeColor="White" OnClientClick="return judgeSelect();"


 protected void LinkButton1_Click(object sender, EventArgs e)
        {
            string sqlText = "";
            for (int i = 0; i < Book_List.Rows.Count; i++)
            {
                //搜索第n行
                CheckBox cbx = (CheckBox)Book_List.Rows[i].FindControl("cbx");
                if (cbx.Checked == true)
                {
                    sqlText = sqlText + Convert.ToInt32(Book_List.DataKeys[i].Value) + ",";
                }
            }
            sqlText = sqlText.Substring(0, sqlText.Length - 1);
            int delCount = bllzvb.DeleteList(sqlText);
            bool b = bllzvb.AlterPrimary();//重置ID
            Response.Write("<script>alert('共删除" + delCount + "项');location.href='BookManage.aspx';</script>");
        }




17、OnClientClick="return confirm('您确认删除该记录吗?');"  删除时提示


18、设置linkbutton 绑定主键并删除
  <asp:HyperLinkField DataNavigateUrlFields="bookNumber" DataNavigateUrlFormatString="BookUpdate.aspx?ID={0}"
  
  
 19、后台使用 framset
 </link>
</head>
<frameset id="fram" rows="69,*" cols="*" frameborder="no" border="0" framespacing="0">
  <frame src="top.aspx" name="topFrame" scrolling="no" noresize>
  <frameset rows="*" cols="180,*" framespacing="0" frameborder="no" border="0">
    <frame src="Left.aspx" MarginWidth="0" name="leftFrame" scrolling="yes">
     <frame src="Main.aspx" name="main">
  </frameset>
</frameset>
<noframes><body>
</body></noframes>
20、后台折叠效果
  <script language="JavaScript" type="text/JavaScript">
    function showsubmenu(sid,sum)
    {
    whichEl = eval("submenu" + sid);
    if (whichEl.style.display == "none")
    {


    for (var i=0;i<=sum;i++)
    {
    if(i==sid)
    eval("submenu" + i + ".style.display=\"\";");
    else
    eval("submenu" + i + ".style.display=\"none\";");
    }
    }
    else
    {
    eval("submenu" + sid + ".style.display=\"none\";");
    }
    }
    </script>
 21、repeater删除
 通过删除按钮Button的CommandName的绑定来取的ID值 CommandName='<%# Eval("ID") %>' ,然后一个 OnCommand="BtnDel_Click"响应事件,对之进行删除
protected void BtnDel_Click(object sender, CommandEventArgs e)
    {
        int ID = Convert.ToInt32(e.CommandName);
        string delSql = "delete from mailbox where id=" + ID;
        try
        {
            DataUse.ExcuteNoqueryUser(delSql);
            JSUtil.Alert(this.Page, "删除成功!");
            Server.Transfer("Mail_Admin.aspx");
        }
        catch (Exception ex)
        {
            JSUtil.Alert(this.Page, ex.Message);
        }
    }
 
 
 22、正则表达验证是否为数字
 οnkeyup="this.value=this.value.replace(/\D/g,'')"
 
 23、一次执行多条SQL语句
  string str="server=.;uid=sa;pwd=111111;database=text_db";//连接字符串


        SqlConnection SCON;


        SqlCommand SCom1=new SqlCommand();//要执行sql语句的第一个命令对象


        SqlCommand SCom2=new SqlCommand();//要执行sql语句的第二个命令对象


            SCON=new SqlConnection(str);


            SCON.Open();


           //第一条要执行的sql语句


           SCom1.CommandText = "insert into cum(nm,age,sex,addr) values(@name,@age,@sex,@addr)";


            SCom1.Parameters.Add("@name", SqlDbType.Text);


            SCom1.Parameters.Add("@age", SqlDbType.Int);


            SCom1.Parameters.Add("@sex", SqlDbType.Bit);


            SCom1.Parameters.Add("@addr", SqlDbType.Text);


            SCom1.Parameters["@name"].Value = name1;


            SCom1.Parameters["@age"].Value = age1;


            SCom1.Parameters["@sex"].Value = sex1;


            SCom1.Parameters["@addr"].Value = addr1;


            SCom1.Connection = SCON;


            SCom1.CommandType = CommandType.Text;


            int num = SCom1.ExecuteNonQuery();


           //第二条要招行的sql语句


            SCom2.CommandText = "insert into cum(nm,age,sex,addr) values(@name,@age,@sex,@addr)";


            SCom2.Parameters.Add("@name", SqlDbType.Text);


            SCom2.Parameters.Add("@age", SqlDbType.Int);


            SCom2.Parameters.Add("@sex", SqlDbType.Bit);


            SCom2.Parameters.Add("@addr", SqlDbType.Text);


            SCom2.Parameters["@name"].Value = name2;


            SCom2.Parameters["@age"].Value = age2;


            SCom2.Parameters["@sex"].Value = sex2;


            SCom2.Parameters["@addr"].Value = addr2;


            SCom2.Connection = SCON;


            SCom2.CommandType = CommandType.Text;


            int num = SCom2.ExecuteNonQuery();


SCON.Close();


   这种方法就是利用了一个SqlConnection对象进行一次连接,在关闭前执行多个SqlCommand命令对象,执行在进行关闭连接


   
  24、framset跳转
  知道为什么吗?如果没有处理直接在frame里面跳转是跳转本frame而已。
应该找到frame的父对象 然后让父对象去跳转。
例如:你要跳转的链接是abc.aspx
有4个页面
1.父页面:index
2.top
3.left
4.right
你是要在top里面写跳转 这样写:
 <asp:LinkButton OnClientClick="parent.window.location = 'abc.aspx';" ID="LinkButton1" runat="server">跳转</asp:LinkButton>
 

 (select top * id from table )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值