enumHelper的多种方法

Continue Read..
/// <summary>
    /// 枚举处理方法集
    /// </summary>
    /// <returns></returns>
    /// <author></author>
    public class EnumHelper
    {
        /// <summary>
        /// 根据enum名称取得enum
        /// </summary>
        /// <param name="enumType"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static object GetEnum(Type enumType, string name)
        {
            return Enum.Parse(enumType, name);
        }

        /// <summary>
        /// 根据enum值取得enum
        /// </summary>
        /// <param name="enumType"></param>
        /// <param name="enmname"></param>
        /// <returns></returns>
        public static object GetEnum(Type enumType, int value)
        {
            return Enum.Parse(enumType, value.ToString());
        }

        /// <summary>
        /// 根据enum名称取得enum值
        /// </summary>
        /// <param name="enumType"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static int GetEnumValue(Type enumType, string name)
        {
            return (int) Enum.Parse(enumType, name);
        }

        /// <summary>
        /// 根据enum值取得enum名称
        /// </summary>
        /// <param name="enumType"></param>
        /// <param name="enmname"></param>
        /// <returns></returns>
        public static string GetEnumName(Type enumType, int value)
        {
            return Enum.Parse(enumType, value.ToString()).ToString();
        }

        /// <summary>
        /// 获得Enum注释
        /// </summary>
        /// <param name="value">Enum值</param>
        /// <returns>Enum注释</returns>
        public static string GetEnumDescription(Enum value)
        {
            FieldInfo fi = value.GetType().GetField(value.ToString());
            var attributes = (DescriptionAttribute[]) fi.GetCustomAttributes(typeof (DescriptionAttribute), false);
            return (attributes.Length > 0) ? attributes[0].Description : value.ToString();
        }

        /// <summary>
        /// 获得Enum注释
        /// </summary>
        /// <param name="enumType">Enum类型</param>
        /// <param name="name"></param>
        /// <returns>Enum注释</returns>
        public static string GetEnumDescription(Type enumType, string name)
        {
            FieldInfo fi = Enum.Parse(enumType, name).GetType().GetField(Enum.Parse(enumType, name).ToString());
            var attributes = (DescriptionAttribute[]) fi.GetCustomAttributes(typeof (DescriptionAttribute), false);
            return (attributes.Length > 0) ? attributes[0].Description : Enum.Parse(enumType, name).ToString();
        }

        /// <summary>
        /// 获得Enum资源定义
        /// </summary>
        /// <param name="enumType">Enum类型</param>
        /// <param name="name"></param>
        /// <returns>Enum注释</returns>
        public static string GetEnumResText(Type enumType, string name)
        {
            return EnumOperation.GetEnumResText(enumType, name);
        }

        /// <summary>
        /// 根据Enum资源定义,获取枚举值
        /// </summary>
        /// <param name="enumType">Enum类型</param>
        /// <param name="name"></param>
        /// <returns>Enum注释</returns>
        public static string GetEnumByResText(Type enumType, string resText)
        {
            return EnumOperation.GetEnumByResText(enumType, resText);
        }
    }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

sqlHelper的多种方法

Continue Read..
/// <summary>
    /// SqlServer数据访问帮助类
    /// </summary>
    public class SqlHelper
    {
        private SqlHelper() { }
        public static string conn = ConfigurationManager.ConnectionStrings["conn"].ToString();
        public static string connJob = ConfigurationManager.ConnectionStrings["connJob"].ToString();
        public static int ExecSql(string sql)
        {
            using (SqlConnection connection = new SqlConnection(conn))
            {
                using (SqlCommand cmd = new SqlCommand(sql, connection))
                {
                    try
                    {
                        connection.Open();
                        int rows = cmd.ExecuteNonQuery();
                        connection.Close();
                        return rows;
                    }
                    catch (System.Data.SqlClient.SqlException E)
                    {
                        connection.Close();
                        throw new Exception(E.Message);

                    }
                }
            }
        }
        public static DataSet ExecSqlDs(string sql)
        {
            using (SqlConnection connection = new SqlConnection(conn))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SqlDataAdapter command = new SqlDataAdapter(sql, connection);
                    
                    command.Fill(ds, "ds");
                    connection.Close();
                }
                catch (System.Data.SqlClient.SqlException E)
                {
                    throw new Exception(E.Message);

                }
                return ds;
            }
        }


        private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters, CommandType type)
        {
            SqlCommand command = new SqlCommand(storedProcName, connection);
            command.CommandType = type;
            if (parameters != null)
            {
                foreach (SqlParameter parameter in parameters)
                {
                    command.Parameters.Add(parameter);
                }
            }
            return command;
        }


        public static DataSet ExecSqlDs(string sql, IDataParameter[] parameters)
        {
            using (SqlConnection connection = new SqlConnection(conn))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SqlDataAdapter command = new SqlDataAdapter(sql, connection);

                    if (parameters != null)
                    {
                        foreach (SqlParameter parameter in parameters)
                        {
                            command.SelectCommand.Parameters.Add(parameter);
                        }
                    }
                    command.Fill(ds, "ds");
                    connection.Close();
                }
                catch (System.Data.SqlClient.SqlException E)
                {
                    throw new Exception(E.Message);

                }
                return ds;
            }
        }

        public static DataSet ExecSqlDs(CommandType cmdType, string sql, IDataParameter[] parameters)
        {
            using (SqlConnection connection = new SqlConnection(conn))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SqlDataAdapter command = new SqlDataAdapter(sql, connection);
                    command.SelectCommand.CommandType = cmdType;
                    if (parameters != null)
                    {
                        foreach (SqlParameter parameter in parameters)
                        {
                            command.SelectCommand.Parameters.Add(parameter);
                        }
                    }
                    command.Fill(ds, "ds");
                    connection.Close();
                }
                catch (System.Data.SqlClient.SqlException E)
                {
                    throw new Exception(E.Message);

                }
                return ds;
            }
        }

        public static int ExecSql(string sql, IDataParameter[] parameters)
        {
            using (SqlConnection connection = new SqlConnection(conn))
            {
                using (SqlCommand sqlcommand = BuildQueryCommand(connection, sql, parameters, CommandType.Text))
                {
                    try
                    {
                        connection.Open();
                        int rows = sqlcommand.ExecuteNonQuery();
                        connection.Close();
                        return rows;
                    }
                    catch (System.Data.SqlClient.SqlException E)
                    {
                        connection.Close();
                        throw new Exception(E.Message);

                    }
                }
            }
        }

        public static object ExecuteScalar(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
        {
            SqlCommand cmd = new SqlCommand();

            using (SqlConnection connection = new SqlConnection(conn))
            {
                PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
                object val = cmd.ExecuteScalar();
                cmd.Parameters.Clear();
                return val;
            }
        }

        public static object ExecuteSql(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
        {
            SqlCommand cmd = new SqlCommand();

            using (SqlConnection connection = new SqlConnection(conn))
            {
                PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
                object val = cmd.ExecuteScalar();
                cmd.Parameters.Clear();
                return val;
            }
        }

        /// <summary>
        /// Prepare a command for execution
        /// </summary>p[;[                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
        /// <param name="cmd">SqlCommand object</param>
        /// <param name="conn">SqlConnection object</param>
        /// <param name="trans">SqlTransaction object</param>
        /// <param name="cmdType">Cmd type e.g. stored procedure or text</param>
        /// <param name="cmdText">Command text, e.g. Select * from Products</param>
        /// <param name="cmdParms">SqlParameters to use in the command</param>
        private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
        {
            if (conn.State != ConnectionState.Open)
                conn.Open();

            cmd.Connection = conn;
            cmd.CommandText = cmdText;

            if (trans != null)
                cmd.Transaction = trans;

            cmd.CommandType = cmdType;

            if (cmdParms != null)
            {
                foreach (SqlParameter parm in cmdParms)
                    cmd.Parameters.Add(parm);
            }
        }

        public static DataSet ExecProc(string storedProcName, IDataParameter[] parameters)
        {
            SqlConnection connection = new SqlConnection(conn);

            try
            {
                SqlCommand sqlcommand = BuildQueryCommand(connection, storedProcName, parameters, CommandType.StoredProcedure);
                SqlDataAdapter SqlDA = new SqlDataAdapter(sqlcommand);
                DataSet DS = new DataSet();
                SqlDA.Fill(DS);
                connection.Close();

                return DS;
            }
            catch (System.Data.SqlClient.SqlException E)
            {
                connection.Close();
                throw new Exception(E.Message);

            }
        }
        public static int ExecProcMaxCode(string storedProcName, string type)
        {
            SqlConnection connection = new SqlConnection(conn);

            try
            {
                connection.Open();
                System.Data.SqlClient.SqlParameter p1 = new System.Data.SqlClient.SqlParameter("@type", SqlDbType.VarChar, 10);
                p1.Value = type;
                System.Data.SqlClient.SqlParameter p2 = new System.Data.SqlClient.SqlParameter("@r_v", SqlDbType.Int);
                p2.Direction = ParameterDirection.Output;
                IDataParameter[] ps = new IDataParameter[] { p1, p2 };
                SqlCommand sqlcommand = BuildQueryCommand(connection, storedProcName, ps, CommandType.StoredProcedure);
                sqlcommand.ExecuteNonQuery();
                int maxcode = (int)sqlcommand.Parameters["@r_v"].Value;
                connection.Close();
                return maxcode;

            }
            catch (System.Data.SqlClient.SqlException E)
            {
                connection.Close();
                throw new Exception(E.Message);

            }
        }


    }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

asp.net RegisterClientScriptBlock 与 RegisterStartupScript 的区别

Continue Read..
RegisterClientScriptBlock、RegisterStartupScript 都是注册一个脚本块。

ClientScript.RegisterClientScriptBlock(this.GetType(), "script1", "alert(1);", true);
ClientScript.RegisterStartupScript(this.GetType(), "script1", "alert(2);", true);
它们的区别就是 RegisterClientScriptBlock 是注册在 body 最前面,而 RegisterStartupScript 是注册在 body 最后面。

为什么这样呢?

1.第二个参数 key
第二个参数 key 是用来避免重复注册的(方法名称相同的,则第二个参数不可相同)

2.详细用法
区别,那就是 RegisterClientScriptBlock 将脚本代码写在 <form> 之后,而 RegisterStartupScript 将代码写在 </form>(注意是结束标签)之前

public void RegisterClientScriptBlock(Type type, string key, string script)
public void RegisterClientScriptBlock(Type type, string key, string script, bool addScriptTags)
public void RegisterStartupScript(Type type, string key, string script)
public void RegisterStartupScript(Type type, string key, string script, bool addScriptTags)
可以看出二者语法相同。

type 要注册的启动脚本的类型。
key 要注册的启动脚本的键,也就是你自己给这段脚本起的名字。相同 key 的脚本被当作是重复的,对于这样的脚本只输出最先注册的,ClientScriptBlock 和 StartupScript 中的 key 相同不算是重复的。
script 脚本代码。
addScriptTags 是否添加 <script> 标签,如果脚本代码中不含 <script> 标签,则应该指定该值为 true,若不指定该值,会被当作 false 对待。

如:
ClientScript.RegisterClientScriptBlock(this.GetType(), "key1", @"function Go()
{
    alert('');
}", true);
ClientScript.RegisterStartupScript(this.GetType(), "key1", "Go();", true);

3.如何换行
alert("第一行\\r\\n第二行");
加上转义字符。

4.输出位置的区别
 

Page.Response.Write("<script>var response;</script>");

Page.RegisterStartupScript("RegisterStartupScript","<script>var RegisterStartupScript;</script>");

Page.RegisterClientScriptBlock("RegisterClientScriptBlock","<script>var RegisterClientScriptBlock;</script>");
Response.Write 输出后的位置在源文件的第一行。
RegisterClientScriptBlock 输出后的位置会在 <form> 的下一行(在 ASP.NET 自带的脚本和一些隐藏域之下)。
RegisterStartupScript 输出后的位置会在 </form> 的上一行。

如果要想客户端脚本尽可能早的执行,则可以使用 RegisterClientScriptBlock 或 Response.Write(不推荐用 Response.Write 输出脚本,它破坏了网页的结构。千一网络编辑注)。

RegisterClientScriptBlock 一般返回的是客户端函数的包装,而 RegisterStartupScript 返回得函数在 Document 装载完成后会执行,类似于我们平时所说的 <body onload="f()"> 里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock 在 <form runat=server> 之后,而 RegisterStartupScript 在 </form> 之前。

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

asp.net datalist删除功能

Continue Read..
HTML:
<asp:DataList ID="DataList1" runat="server" 
            onitemcommand="DataList1_ItemCommand" DataKeyField="id">
        <HeaderTemplate>
        <div style="text-align:center">
        <table border = "1" cellpadding="0" cellspacing="0"  style=" font-size:12; width:500px"  >
         <tr>
             <td style="width:100px">全选/反选<input id="Checkbox1" type="checkbox" name="全选" value="全选" onclick="return CheckAll(this)" title="全选" /></td>
             <td style="width:100px">用户ID</td>
             <td style="width:100px">用户名</td>
             <td style="width:100px">显示名</td>
             <td style="width:100px">操作</td>
         </tr>
        </table>
        </div>
       </HeaderTemplate>
      
            <ItemTemplate>
            <div style="text-align:center">
            <table border = "1" cellpadding="0" cellspacing="0"  style=" font-size:12; width:500px"  >
                 <tr>
                 <td style="width:100px"> <asp:CheckBox ID="CheckBox2" runat="server" /></td>
                 <td style="width:100px"><asp:Label ID="Label1" runat="server" Text='<%# Eval("UserID") %>'></asp:Label></td>
                 <td style="width:100px"><asp:Label ID="Label2" runat="server" Text='<%# Eval("UserName") %>'></asp:Label></td>
                 <td style="width:100px"><asp:Label ID="Label3" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Label></td>
                 <td style="width:100px"><asp:Button ID="btnDelete" runat="server" Text="删除"  CommandName="delete"
                        BorderStyle="None" onclientclick="return confirm(&quot;确认删除?&quot;);" /></td><%--请注意此处的CommandName命令--%>
                </tr>
             </table>
             </div>
            </ItemTemplate>
            <FooterTemplate>
                 <div style="text-align:center">
                     <table border="1" cellpadding="0" cellspacing="0" style="font-size:12px; width:100%">
                         <tr>
                        <td style="width:100%; text-align:center">
                            <asp:Button ID="btnPLDelete" runat="server" Text="批量删除"  CommandName="pldelete"
                                 BorderStyle="None" onclientclick="return confirm(&quot;确认删除?&quot;);"  /></td>
                        </tr>
                    </table>
               </div>
            </FooterTemplate>
        </asp:DataList>

JS:
<script type="text/javascript">
        function CheckAll(Obj) {
            var AllObj = document.all;
            if (Obj.checked)//全选
            {
                for (var i = 0; i < AllObj.length; i++) {
                    if (AllObj[i].type == "checkbox") {
                        AllObj[i].checked = true;
                    }
                }
            }
            else//反选
            {
                for (var i = 0; i < AllObj.length; i++) {
                    if (AllObj[i].type == "checkbox") {
                        AllObj[i].checked = false;
                    }
                }
            }
        }
    
    </script>

后台:
DotNetNuke.Entities.Users.UserController ucMgr = new DotNetNuke.Entities.Users.UserController();
    public string sqlcon = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;

    public string type = "0";
    

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["type"] != null)
            type = Request.QueryString["type"].ToString();

        if (type == "0")
        {
            DertDiv.Visible = false;
        }
        else
        {
            UserDiv.Visible = false;
        }
        if (!IsPostBack)
        {
            //调用自定义方法绑定数据到控件(为以后做MVC打下基础)
            BindDataList();

            BindDertList();
        } 
    }
    private void BindDataList()
    {
        //定义查询语句,这里最好将SQL语句在SQL中写好并验证正确确在复制粘贴过来(在对数据查询时最好只查所需的一些不需要的数据就不要取出,这样可以提高运行的效率)
        SqlConnection scon = new SqlConnection(sqlcon);
       string strwhere = " ";
       string strSql = "";
       if (string.IsNullOrEmpty(tbUserName.Text))
       {
           strSql = "select * from [Users] where UserID=0";
       }
       else
       {
           strwhere += " and Username = '" + tbUserName.Text.Trim() + "' ";
           strSql = "select * from [Users] where IsSuperUser=0" + strwhere;//定义一条SQL语句
       }
        
        SqlCommand scm = new SqlCommand(strSql, scon);
        SqlDataAdapter sqldata = new SqlDataAdapter(scm);

        DataSet ds = new DataSet();
        sqldata.Fill(ds);
        DataList1.DataSource = ds;
        DataList1.DataBind();
    }

    protected void btnSearch_Click(object sender, EventArgs e)
    {
        BindDataList();
    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        SqlConnection scon = new SqlConnection(sqlcon);
        switch (e.CommandName)
        {
            //单条数据删除操作
            case "delete":
                //取得当前Datalist控件列
                int id = int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString());
                string strSQL = "delete from Users where UserID='" + id + "'";
                if (scon.State.Equals(ConnectionState.Closed))
                {
                    scon.Open();//打开数据库
                }
                SqlCommand cmd = new SqlCommand(strSQL, scon);
                if (Convert.ToInt32(cmd.ExecuteNonQuery()) > 0)
                {
                    Response.Write("<script>alert('删除成功!')</script>");
                    BindDataList();
                }
                else
                {
                    Response.Write("<script>alert('删除失败!请查找原因')</script>");
                }
                scon.Close();//关闭连接
                break;
            ////批量数据删除操作
            //case "pldelete":
            //    if (scon.State.Equals(ConnectionState.Closed))
            //    {
            //        scon.Open();//打开数据库
            //    }
            //    DataListItemCollection dlic = DataList1.Items;//创建一个DataList列表项集合对象
            //    //执行一个循环删除所选中的信息
            //    for (int i = 0; i < dlic.Count; i++)
            //    {
            //        if (dlic[i].ItemType == ListItemType.AlternatingItem || dlic[i].ItemType == ListItemType.Item)
            //        {
            //            CheckBox cbox = (CheckBox)dlic[i].FindControl("CheckBox2");
            //            if (cbox.Checked)
            //            {
            //                int p_id = int.Parse(DataList1.DataKeys[dlic[i].ItemIndex].ToString());
            //                SqlCommand p_cmd = new SqlCommand("delete from Users where UserID=" + p_id, scon);
            //                p_cmd.ExecuteNonQuery();
            //            }
            //        }

            //    }
            //    scon.Close();
            //    BindDataList();
            //    break;
        }
    }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

增改时判断是否已存在

Continue Read..

/// <summary>
        /// 验证是否存在
        /// </summary>
        public bool UPExists(AnesMS.DataModel.AnesMethod model)
        {
            int result = 0;
            string sql = "select * from [ms_patient].[AnesMethod] where (InternalCode=@InternalCode or DisplayName=@DisplayName) and AnesMethodKey!=@AnesMethodKey";
            SqlParameter[] parameters = {
                    new SqlParameter("@InternalCode", SqlDbType.NVarChar,50),
                    new SqlParameter("@DisplayName", SqlDbType.NVarChar,100),
                    new SqlParameter("@AnesMethodKey", SqlDbType.BigInt),
     
                                        };

            parameters[0].Value = model.InternalCode;
            parameters[1].Value = model.DisplayName;
            parameters[2].Value = model.AnesMethodKey;

            object obj = SqlHelper.ExecuteScalar(CommandType.Text, sql, parameters);
            if (obj != null)
            {
                result = Convert.ToInt32(obj);
            }
            return result > 0 ? true : false;
        }

        /// <summary>
        /// 验证是否存在
        /// </summary>
        public bool Exists(AnesMS.DataModel.AnesMethod model)
        {
            int result = 0;
            string sql = "select count(*) from [ms_patient].[AnesMethod] where (InternalCode = @InternalCode or DisplayName = @DisplayName)";
            SqlParameter[] parameters = {
     new SqlParameter("@InternalCode", SqlDbType.NVarChar,50),
     new SqlParameter("@DisplayName", SqlDbType.NVarChar,100)
                                        };

            parameters[0].Value = model.InternalCode;
            parameters[1].Value = model.DisplayName;

            object obj = SqlHelper.ExecuteScalar(CommandType.Text, sql, parameters);
            if (obj != null)
            {
                result = Convert.ToInt32(obj);
            }
            return result > 0 ? true : false;
        }

 

if (amMgr.Exists(aminfo))
        {
            //MessageBox.Show(this.Page, "你录入的麻醉方式的编码或名称已存在!");
            Lsavemsg.ForeColor = Color.Red;
            Lsavemsg.Text = "编码或名称已存在!!";
            return;
        }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

asp.net后台提交时验证

Continue Read..

private bool ValidateInput()
    {
        string regex = @"^[0-9]+$";
        msg = "";
        isValidate = true;
        if (string.IsNullOrEmpty(tbInternalCode.Text.Trim()))
        {
            isValidate = false;
            msg += "编码不能为空." + "&nbsp;&nbsp;&nbsp;";
        }        
        if (string.IsNullOrEmpty(tbSortValue.Text.Trim()) || !Regex.IsMatch(tbSortValue.Text.Trim(), regex))
        {
            isValidate = false;
            msg += "排序值应为非负整数." + "&nbsp;&nbsp;&nbsp;";
        }
        if (!string.IsNullOrEmpty(tbDescText.Text.Trim())&&tbDescText.Text.Trim().Length>200)
        {
            isValidate = false;
            msg += "描述不能超过200个字符.";
        }
        return isValidate;
    }

 

protected void btnSave_Click(object sender, EventArgs e)
    {
        if (!ValidateInput())
        {
            Lsavemsg.ForeColor = Color.Red;
            Lsavemsg.Text = msg;
            return;
        }

    }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

asp.net 消息框显示

Continue Read..
点击查看原图
/// <summary>
/// 显示消息提示对话框
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
public static void  Show(System.Web.UI.Page page,string msg)
{
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' >alert('" + msg.ToString() + "');</script>");
}

/// <summary>
/// 显示消息提示对话框,并进行页面跳转
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
/// <param name="url">跳转的目标URL</param>
public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)
{
            //Response.Write("<script>alert('帐户审核通过!现在去为企业充值。');window.location=\"" + pageurl + "\"</script>");
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>alert('" + msg + "');window.location=\"" + url + "\"</script>");


}

调用 :
MessageBox.Show(this.Page, "你录入的手术字典的显示编码或显示名称已存在!");
MessageBox.ShowAndRedirect(this.Page, "修改成功!!", "ChestSet.aspx");

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

验证控件 RegularExpressionValidator

Continue Read..
<td>排序值:</td>
                <td><asp:TextBox ID="tbSortValue" runat="server"></asp:TextBox>
                    <asp:RegularExpressionValidator ID="Validator_SortValue" runat="Server" ControlToValidate="tbSortValue" ValidationExpression="^[0-9]*$" ForeColor="Red" ErrorMessage="请输入数字!!" Display="Static"></asp:RegularExpressionValidator>
</td>

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

webdiyer:AspNetPager分页设置

Continue Read..

点击查看原图

<webdiyer:aspnetpager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb"

                        EnableTheming="true" FirstPageText="首页" HorizontalAlign="right" LastPageText="尾页"

                        NextPageText="下一页"  PageIndexBoxType="DropDownList"

                        PageSize="12" PrevPageText="上一页" ShowPageIndexBox="Always" TextBeforePageIndexBox="Go To Page: "

                        UrlPaging="false" Width="100%" onpagechanging="AspNetPager1_PageChanging"  >

                        </webdiyer:aspnetpager>

 

后台代码:

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            if (Request.QueryString["sectionkey"] != null)

                sectionkey = Request.QueryString["sectionkey"].ToString();

             

            SelectAllChests(sectionkey);

        }

    }

 

private void SelectAllChests(string sectionkey)

    {

        string strwhere = " ";

 

        if (!string.IsNullOrEmpty(sectionkey)&&sectionkey!="0")

        {

            strwhere = "and A.SectionKey = '" + sectionkey + "'";

        }

 

        else

        {

            if (DDLSection.Text != "0")

            {

                strwhere += " and A.SectionKey = " + DDLSection.Text;

            }

 

            if (DDLState.Text != "3")

                strwhere += " and A.State = " + DDLState.Text;

 

            if (txtChestsName.Value != "")

                strwhere += " and A.NameText like '%" + txtChestsName.Value + "%'";

 

            if (tbStart.Text != "")

                strwhere += " and CONVERT(varchar(100),A.CreatedLocalDtm, 23) >= '" + tbStart.Text + "'";

 

            if (tbEnd.Text != "")

                strwhere += " and CONVERT(varchar(100), A.CreatedLocalDtm, 23) <= '" + tbEnd.Text + "'";

        }

 

        ds = ChestC.SelectAllChests(strwhere);

        DataTable dt = ds.Tables[0];

 

        //分页控件初始参数

        this.AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;

        this.AspNetPager1.PageSize = 13;

        PagedDataSource pds = new PagedDataSource();

 

        pds.AllowPaging = true;

        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;

        pds.PageSize = AspNetPager1.PageSize;

 

        if (dt != null && dt.Rows.Count > 0)

        {

            pds.DataSource = dt.DefaultView;

            RepeaterChests.DataSource = pds;

        }

        RepeaterChests.DataBind();

    }

 

protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)

    {

        AspNetPager1.CurrentPageIndex = e.NewPageIndex;

        SelectAllChests(sectionkey);

    }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

asp.net笔记(13)

Continue Read..

第十三章:Web应用程序包
                              打包需要解决两点
                              1)打包之后的网站中应该没有源文件(*.cs)
                              2)打包过程中应该把DotnetFrameworker打包进去,这样在安装过程
                                会自动识别目标计算机上是否有fw,如果没有则首先安装fw
                              打包的步骤:
                               1)安装WebDeployment。这是微软公司为了弥补vs2005自动的web打包而
                                 发布一个插件,它可以把一个网站进行编译,其结果是没有源文件也可以运行
                               2)创建一个web应用程序
                               3)对准web应用程序单右-->add WebDeployment Project,确定
                               4)选择WebDeployment Project单右-->生成,就可以生成一个没有*.cs的网站
                               5)添加一个Web安装项目
                               6)选中Web安装项目按F4,弹出属性窗口,在其中输入安装项目的信息,包含:安装的标题,软件的作者等等
                               7)选中Web安装项目按单右-->属性-->系统必备--->选择"从与我应用程序相同的位置下载系统必备组件
                               8)选中"web应用程序文件夹"--->单右-->添加-->项目输出-->选择以前通过WebDeployment Project生成的项目-->确定
                               9)选中Web安装项目按单右-->生成--->在生成的文件夹的Debug文件夹中会看到
                                 dotnetfx,setup.exe.WeijinSetUp.msi三个安装文件
                               10)把这三个安装文件刻成光盘,安装到目标文件就可

 

           
                                第十四章 xml文件的操作
               1)在asp.net中要操作xml文件有三种方式
               2)xmldocument类,xmlTextReader,xmlTextWriter类,DataSet类

                               xmldocument类  
            1:xmldocument实际上利用xml文档对像模型(dom)对xml进行操作
            2:工作原理是把xml文档中的全部内容读到内存中,形成一个xml文档树 
            3:通过dom能够对xml文档进行增加,删除,修改等操作
            4:缺点是如果文档非常大的话,则会导致内存资源不足的问题
            有如下的xml文件:
                 <?xml version="1.0" encoding="utf-8" ?>
  <studs>
    <stud>
       <id>S1</id>
       <name OtherName="二狗">张三</name>
        <age>20</age>
                 </stud>
                 <stud>
                       <id>S2</id>
                       <name>李四</name>
                       <age>34</age>
                </stud>
                <stud>
                       <id>S3</id>
                       <name>小张</name>
                       <age>20</age>
                </stud>
            </studs>

                        document
                           |
                           | 
                  --------------------
                  |       | 
                  xml              studs
                                     |
                                     |
                             ------------------------------------
                             |                 |                |
                            stud              stud            stud
                             |          
                             |                
                        -----------             
                        |    |    |  
                       id   name age
                        |    |    |
                        S1  张三  20


              读文件:
                   XmlDataDocument doc = new XmlDataDocument();
               string path = Environment.CurrentDirectory;
                   doc.Load(path + "\\XMLFile1.xml");
                   XmlElement root =doc.DocumentElement;//得到文档的根
                   foreach (XmlNode StudNode in root.ChildNodes)
                     {
                         string id = StudNode.ChildNodes[0].FirstChild.InnerText;
                         string name = StudNode.ChildNodes[1].FirstChild.InnerText;
                         string age = StudNode.ChildNodes[2].FirstChild.InnerText;
                         ListViewItem lv = new ListViewItem(id);
                         this.listView1.Items.Add(lv);
                         lv.SubItems.Add(name);
                         lv.SubItems.Add(age);
                   }
            增加文件:
                 XmlDocument doc = new XmlDocument();
              string path =Environment.CurrentDirectory + "\\XMLFile1.xml";
              doc.Load(path);
             XmlElement root = doc.DocumentElement;
             XmlNode StudNode=doc.CreateNode(XmlNodeType.Element, "stud", "");
              XmlNode IdNode = doc.CreateNode(XmlNodeType.Element, "id", "");
                 IdNode.InnerText = "S99";
              XmlNode NameNode = doc.CreateNode(XmlNodeType.Element, "name", "");
              NameNode.InnerText = "小二";
             XmlNode AgeNode = doc.CreateNode(XmlNodeType.Element, "age", "");
              AgeNode.InnerText ="67";
              StudNode.AppendChild(IdNode);
             StudNode.AppendChild(NameNode);
             StudNode.AppendChild(AgeNode);
             root.AppendChild(StudNode);
             doc.Save(path);
            修改文件:
                          XmlDataDocument doc = new XmlDataDocument();
               string path = Environment.CurrentDirectory;
              doc.Load(path + "\\XMLFile1.xml");
              XmlElement root =doc.DocumentElement;
               root.ChildNodes[0].ChildNodes[0].FirstChild.InnerText = "S7";
              doc.Save(path + "\\XMLFile1.xml");     
            删除文件:
                    XmlDataDocument doc = new XmlDataDocument();
                 string path = Environment.CurrentDirectory;
                    doc.Load(path + "\\XMLFile1.xml");
                    XmlElement root =doc.DocumentElement;
                    root.RemoveChild(root.ChildNodes[0]);
                    doc.Save(path + "\\XMLFile1.xml");
            读取属性:
                  XmlDataDocument doc = new XmlDataDocument();
             string path = Environment.CurrentDirectory;
             doc.Load(path + "\\XMLFile1.xml");
             XmlElement root =doc.DocumentElement;
             string st=root.ChildNodes[0].ChildNodes[1].Attributes["OtherName"].InnerText;
            MessageBox.Show(st);
  


                xmlTextReader类
          1) 这个类提供一个只读的访问xml文件的方式,相当于利用dom而言,非常快速,但是它只能够
             读,不能修改,要修改可以利用xmlTextWriter类
          2) 不论是xmlTextReader类还是xmlTextWriter类,它们对xml操作必须是从头到尾进行操作,也
             就是说如果你想操作第100个节点的内容,它们都会从第一个节点一步一步移到100个节点之后才
             能进行操作,这个与xmlDocumnet的处理机制完全不一样,所以xmlTextWriter非常不适合于修改
           
             读文件:
   string path=Environment.CurrentDirectory+"\\XMLFile1.xml";
             XmlTextReader xtr = new XmlTextReader(path);
              while (xtr.Read())
               {
   if (xtr.HasAttributes)
                     {
                            MessageBox.Show(xtr.GetAttribute(0));
                     }  
                       if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "id") //读id
                    {
                             if (xtr.Read())
                             {
                                MessageBox.Show(xtr.Value);
                              }
                         }
                   }
                   xtr.Close();
                 }
              写文件:
             XmlTextWriter xmlwrite = new XmlTextWriter("..\\..\\XMLFile.xml",Encoding.Default);
             xmlwrite.Formatting = Formatting.Indented; //设置换行标志
             xmlwrite.WriteStartDocument();//写入开始位置
            xmlwrite.WriteStartElement("peoples");//写入没有值的节点
            xmlwrite.WriteStartElement("people");//写入没有值的节点
            xmlwrite.WriteElementString("姓名", "张三");//写入有值的节点
             xmlwrite.WriteEndElement();//为没有值的节点,写入结束标记
             xmlwrite.WriteEndElement();//为没有值的节点,写入结束标记
             xmlwrite.Flush();//把缓冲区的内容,真正的写入到文件中去
            xmlwrite.Close();//关闭,以释放资源
                            
                            
                                         

                         DataSet类
           读文件:
                   string path = Environment.CurrentDirectory + "\\XMLFile1.xml";
                DataSet ds = new DataSet();
                   ds.ReadXml(path);
                   DataTable dt = ds.Tables[0];
                   string st = dt.Rows[i][j].ToString();
           增加:
              string path = Environment.CurrentDirectory + "\\XMLFile1.xml";
              DataSet ds = new DataSet();
              ds.ReadXml(path);
              DataTable dt = ds.Tables[0];
              DataRow dr = dt.NewRow();
              dr[0] = "S8";
              dr[1] = "爸爸";
              dr[2] = "45";
              dt.Rows.Add(dr);
              ds.WriteXml(path);
          修改:
            string path = Environment.CurrentDirectory + "\\XMLFile1.xml";
            DataSet ds = new DataSet();
            ds.ReadXml(path);
            DataTable dt = ds.Tables[0];
            DataRow dr = dt.Rows[0];
            dr[0] = "S8";
            dr[1] = "爸爸";
            dr[2] = "45";
            ds.WriteXml(path);

            三种方法总结:
              1)如果操作的xml文件的结构与数据表相似,则优先考虑使用dataset
              2)如果操作的xml文件的结构与数据表不相似:
                     A:如果要读:则使用xmlTextReader对像
                     B:如果要修改:则使用xmlDocument对像

 

                  高级编程
          实现客户端无刷新加传