FormView 显示、更新、插入、删除数据库操作[ASP.NET源代码](二)

源代码:13033480群共享

二、使用 FormView控件编辑数据

1、编辑EditItemTemplate模板,代码如下:

<EditItemTemplate>
                <table border="0" cellpadding="0" cellspacing="0" width="420">
                    <tr>
                        <td colspan="6" height="30" width="420" align="center">
                        <h4>FormView EditItemTemplate 模板</h4>
                        </td>
                    </tr>
                    <tr>
                        <td width="30">
                        </td>
                        <td rowspan="4" width="120">
                            <asp:Image ID="imgItem" runat="server" AlternateText="上传浏览图片" Height="120px" ImageUrl='<%# Eval("Image") %>'
                                Width="120px" /></td>
                        <td width="30">
                        </td>
                        <td colspan="2">
                            <asp:FileUpload ID="fupImage" runat="server" Width="100%" /></td>
                        <td width="60">
                            <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" /></td>
                    </tr>
                    <tr>
                        <td width="30">
                        </td>
                        <td width="30">
                        </td>
                        <td width="60">
                            分类:</td>
                        <td width="120">
                            <asp:DropDownList ID="ddlCategory" runat="server" DataSourceID="sdsCategory" DataTextField="Name"
                                DataValueField="CategoryId">
                            </asp:DropDownList></td>
                        <td width="60">
                        </td>
                    </tr>
                    <tr>
                        <td width="30">
                        </td>
                        <td width="30">
                        </td>
                        <td width="60">
                            名称:</td>
                        <td width="120">
                            <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox></td>
                        <td width="60">
                        </td>
                    </tr>
                    <tr>
                        <td width="30">
                        </td>
                        <td width="30">
                        </td>
                        <td width="60">
                            价格:
                        </td>
                        <td width="120">
                            <asp:TextBox ID="txtPrice" runat="server" Text='<%# Bind("Price") %>'></asp:TextBox></td>
                        <td width="60">
                        </td>
                    </tr>
                    <tr>
                        <td height="30" width="30">
                        </td>
                        <td height="30" width="120">
                        </td>
                        <td height="30" width="30">
                        </td>
                        <td height="30" width="60">
                        </td>
                        <td align="right" height="30" width="120">
                            <asp:Button ID="btnUpdate" runat="server" CommandName="Update" Text="更新" /></td>
                        <td height="30" width="60">
                            <asp:Button ID="btnCancel" runat="server" CommandName="Cancel" Text="取消" /></td>
                    </tr>
                </table>
            </EditItemTemplate>


 

2、为SqlDataSource控件sdsItem添加UpdateCommand命令,并添加<UpdateParameters>

UpdateCommand="UPDATE Item SET CategoryId=@CategoryId,Name=@Name,Price=@Price,Image=@Image WHERE ItemId=@ItemId"

<UpdateParameters>
    <asp:Parameter Name="CategoryId" />
    <asp:Parameter Name="Name" />
    <asp:Parameter Name="Price" />
    <asp:Parameter Name="Image" />
    <asp:Parameter Name="ItemId" />
</UpdateParameters>


3、编辑模板加了一个FileUpload控件,可以选择并上传图片图片,为了能在上传后显示图片,添加了一个btnUpload按钮,并添加了这个按钮的响应函数,点击后,可将文件上传,并在窗体中显示上传后的图片,代码如下:

    protected void btnUpload_Click(object sender, EventArgs e)
    {
        FileUpload fup = (FileUpload)fvwItem.FindControl("fupImage");

        if (fup.HasFile)
        {
            fup.SaveAs(Server.MapPath("~\\Images\\Items\\") + fup.FileName);

            String str = "~\\Images\\Items\\" + fup.FileName.ToString();
            Image img = (Image)fvwItem.FindControl("imgItem");
            img.ImageUrl = str;
        }
        else
        {
            Response.Write("<script>alert('请先浏览并选择图片')</script>");
        }
    }


 4、在模板中添加一个类别下拉列表框,为了获得一个完全的类别,只能再弄一个SqlDateSource,配置如下:

<asp:SqlDataSource ID="sdsCategory" runat="server" ConnectionString="<%$ ConnectionStrings:NetShopConnString %>"
    SelectCommand="SELECT CategoryId,Name FROM Category">
</asp:SqlDataSource>


5、5、编辑模板中,CategoryID和Image等参数没有双向绑定,需要在上传前给这两个参数赋值,为些,为fvwItem添加了OnItemUpdating="fvwItem_ItemUpdating"消息响应函数,代码如下:

    protected void fvwItem_ItemUpdating(object sender, FormViewUpdateEventArgs e)
    {
        DropDownList ddl = (DropDownList)fvwItem.FindControl("ddlCategory");
        sdsItem.UpdateParameters["CategoryId"].DefaultValue = ddl.SelectedValue;

        Image img = (Image)fvwItem.FindControl("imgItem");
        sdsItem.UpdateParameters["Image"].DefaultValue = img.ImageUrl;

    }


6、在浏览器中查看运行结果。

参考网址:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.formview%28v=VS.80%29.aspx

专为程序员设计的数学课

11-11
<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值