Linq to sql(三):增删改(二)

简易留言簿

       现在,我们就可以使用Linq to sql完成简易留言簿了。实现以下功能:

l         发表留言(增)

l         查看留言(查)

l         管理员回复留言(改)

l         管理员删除留言(删除)

首先,创建一个Default.aspx,在页面上加入一些控件:

<div>

        姓名

        <asp:TextBox ID="tb_UserName" runat="server"></asp:TextBox><br />

        <br />

       留言

        <asp:TextBox ID="tb_Message" runat="server" Height="100px" TextMode="MultiLine" Width="300px"></asp:TextBox><br />

        <br />

        <asp:Button ID="btn_SendMessage" runat="server" Text="发表留言" OnClick="btn_SendMessage_Click" /><br />

        <br />

        <asp:Repeater ID="rpt_Message" runat="server">

        <ItemTemplate>

        <table width="600px" style="border:solid 1px #666666; font-size:10pt; background-color:#f0f0f0">

            <tr>

            <td align="left" width="400px">

            <%# Eval("Message")%>

            </td>

            <td align="right" width="200px">

            <%# Eval("PostTime")%> - <%# Eval("UserName")%>

            </td>

            </tr>

            <tr>

            <td colspan="2" align="right">

            <hr width="300px" />

            管理员回复:<%# Eval("IsReplied").ToString() == "False" ? "暂无" : Eval("Reply")%>

            </td>

            </tr>          

        </table>

        <br/>

        </ItemTemplate>

        </asp:Repeater>

    </div>

       你可能很难想象,使用Linq to sql进行数据访问会是这么简单,后台代码:

public partial class _Default : System.Web.UI.Page

{

    GuestBookDataContext ctx = new GuestBookDataContext("server=xxx;database=GuestBook;uid=xxx;pwd=xxx");

      

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            SetBind();

        }

    }

    protected void btn_SendMessage_Click(object sender, EventArgs e)

    {

        tbGuestBook gb = new tbGuestBook();

gb.ID = Guid.NewGuid();

        gb.UserName = tb_UserName.Text;

        gb.Message = tb_Message.Text;

        gb.IsReplied = false;

        gb.PostTime = DateTime.Now;

        ctx.tbGuestBooks.Add(gb);

        ctx.SubmitChanges();

        SetBind();

    }

    private void SetBind()

    {

        rpt_Message.DataSource = from gb in ctx.tbGuestBooks orderby gb.PostTime descending select gb;

        rpt_Message.DataBind();

    }

}

原文地址:https://www.cnblogs.com/kevin2013/p/1749101.html