购物网第一阶段总结笔记2:友情链接模块之增加友情链接

前台:
1:利用静态页面制作母版页和首页index.aspx
2:用Repeater控件绑定数据


aspx代码:

<ul id="ul_yqlj">
                    <asp:Repeater ID="replink" runat="server">
                    <ItemTemplate>
                    <li><a href='<%#Eval("url") %>'><%#Eval("linkname") %></a></li>
                    </ItemTemplate>
                    </asp:Repeater>
                    
                </ul>

cs文件:
  protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                repLink.DataSource = new MyShop.DAL.link().GetList("");
                repLink.DataBind();
            }
        }

至此,友情链接前台页面显示已经弄好了。


后台:
1:新建一个文件夹admin,存放后台页面。
2:添加default.aspx,作为后台主页。

在设计视图中,利用表格布局,两行两列:
购物网第一阶段总结笔记2:友情链接模块之增加友情链接_第1张图片
aspx代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .style1
        {
            width: 100%;
            height: 612px;
        }
        .style2
        {
            width: 111px;
            height: 479px;
        }
        .style3
        {
            height: 58px;
        }
        .style4
        {
            height: 479px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    
    <table class="style1" border="1px">
        <tr>



            <td class="style3" colspan="2">
               <h1>网站后台管理</h1> </td>


        </tr>
        <tr>



            <td class="style2" align="center" valign="top">
                友情链接管理<br />
                <a href="link_add.aspx" target="frm">增加</a>
                </td>


            <td class="style4">
            <iframe src="" id="frm" name="frm" style="width:100%;height:100%"></iframe>
            </td>



        </tr>
    </table>
    
    </form>
</body>
</html>


3:新建一个添加友情链接的页面link_add.aspx:
购物网第一阶段总结笔记2:友情链接模块之增加友情链接_第2张图片
aspx代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        增加友情链接<br />
        <br />
        友情链接名称:<asp:TextBox ID="txtlinkname" runat="server"></asp:TextBox>
        <br />
        友情链接地址:<asp:TextBox ID="txturl" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="btnadd" runat="server" Text="增加" />
    
    </div>
    </form>
</body>
</html>

cs代码:

protected void btnadd_Click(object sender, EventArgs e)
        {
            string name = txtlinkname.Text.Trim();
            string url = txturl.Text.Trim();
            if (name.Length==0&&url.Length==0)
            {
                 litmsg.Text = "<span style='color:red'>请把信息填写完整!</span>";
                 return;//注意,要返回,没有这一句的话,下面的代码依然会执行!!
            }
            int res = new MyShop.DAL.LinkDAO().Add(new MyShop.Model.Link()
            {
                linkname = name,
                url = url,
                createDate = DateTime.Now
            });


            if (res > 0)
            {
                litmsg .Text= "<span style='color:blue'>增加成功!</span>";
                txtlinkname.Text = "";
                txturl.Text = "";
            }
            else
            {
                litmsg.Text = "<span style='color:red'>增加失败,请联系管理员!</span>";
            }
        }

这样,就增加成功了。

进一步,判断要增加的项(linkname)是否存在 ,如果不存在,则增加失败!

此时,查看LinkDAO,发现有判断id是否存在
                /// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(int id)
		{
			Database db = DatabaseFactory.CreateDatabase();
			StringBuilder strSql = new StringBuilder();
			strSql.Append("select count(1) from Shop_link where id=@id ");
			DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
			db.AddInParameter(dbCommand, "id", DbType.Int32,id);
			int cmdresult;
			object obj = db.ExecuteScalar(dbCommand);
			if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
			{
				cmdresult = 0;
			}
			else
			{
				cmdresult = int.Parse(obj.ToString());
			}
			if (cmdresult == 0)
			{
				return false;
			}
			else
			{
				return true;
			}
		}

但是,没有判断linkname是否存在,为此我们在LinkDAO中,重载一下下面的函数:

重载的方法很简单,只需要把这个函数复制一个,然后更改一下传入的参数即可:

        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool Exists(string name)
        {
            Database db = DatabaseFactory.CreateDatabase();
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select count(1) from Shop_link where linkname=@linkname ");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
            db.AddInParameter(dbCommand, "linkname", DbType.String, name);//DbType.int更改为DbType.String
            int cmdresult;
            object obj = db.ExecuteScalar(dbCommand);
            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
            {
                cmdresult = 0;
            }
            else
            {
                cmdresult = int.Parse(obj.ToString());
            }
            if (cmdresult == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }

到此,为LinkDAO增加了一个重载方法。


调用这个函数,进一步完善增加友情链接:

 protected void btnadd_Click(object sender, EventArgs e)
        {
            string name = txtlinkname.Text.Trim();
            string url = txturl.Text.Trim();

            MyShop.DAL.LinkDAO dao = new MyShop.DAL.LinkDAO();
            //验证输入框是否为空
            if (name.Length==0&&url.Length==0)
            {
                 litmsg.Text = "<span style='color:red'>请把信息填写完整!</span>";
                 return;//注意,要返回,没有这一句的话,下面的代码依然会执行!!
            }

            if (dao.Exists(name))
            {
                litmsg.Text = "<span style='color:red'>此超链接已经存在!</span>";
                return;
            }


            int res = dao.Add(new MyShop.Model.Link()
            {
                linkname = name,
                url = url,
                createDate = DateTime.Now
            });


            if (res > 0)
            {
                litmsg .Text= "<span style='color:blue'>增加成功!</span>";
                txtlinkname.Text = "";
                txturl.Text = "";
            }
            else
            {
                litmsg.Text = "<span style='color:red'>增加失败,请联系管理员!</span>";
            }
        }


你可能感兴趣的:(server,String,object,url,asp,textbox)