分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

asp.net 毕业设计遗忘的知识点(十)

发布时间:2023-09-06 02:25责任编辑:熊小新关键词:暂无标签

点击gridview控件中linkbotton跳转到详细页面进行编辑

>请看到上图“查看详情”这一列,就是今天所说的内容。通过点击编辑链接,将GridView控件这一行的数据加载到编辑页面中,而后就可以进行您所需要的修改了。编辑>列,前台代码示例如下:

 ???<div style="margin:100px 100px" > ???<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" DataKeyNames="uid" DataSourceID="SqlDataSource1" GridLines="None" OnRowCommand="GridView1_RowCommand"> ???????<Columns> ???????????<asp:BoundField DataField="uid" HeaderText="uid" ReadOnly="True" SortExpression="uid" /> ???????????<asp:BoundField DataField="upw" HeaderText="upw" SortExpression="upw" /> ???????????<asp:BoundField DataField="uname" HeaderText="uname" SortExpression="uname" /> ???????????<asp:BoundField DataField="email" HeaderText="email" SortExpression="email" /> ???????????<asp:BoundField DataField="upwe" HeaderText="upwe" SortExpression="upwe" /> ???????????<asp:BoundField DataField="hs" HeaderText="hs" SortExpression="hs" /> ???????????<asp:BoundField DataField="cost" HeaderText="cost" SortExpression="cost" /> ???????????<asp:BoundField DataField="address" HeaderText="address" SortExpression="address" /> ???????????<asp:BoundField DataField="tel" HeaderText="tel" SortExpression="tel" /> ???????????<asp:TemplateField> ???????????????<ItemTemplate> ???????????????????<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument=‘<%# Eval("uid")+","+Eval("upw")+","+Eval("uname")+","+Eval("email")+","+Eval("upwe")+","+Eval("hs")+","+Eval("cost")+","+Eval("address")+","+Eval("tel") %>‘ CommandName="go">编辑</asp:LinkButton> ???????????????</ItemTemplate> ???????????</asp:TemplateField> ???????????<asp:TemplateField> ???????????????<ItemTemplate> ???????????????????<asp:Image ID="Image1" runat="server" Height="150px" ImageUrl=‘<%# Eval("hs") %>‘ Width="150px" /> ???????????????</ItemTemplate> ???????????</asp:TemplateField> ???????</Columns> ???????<FooterStyle BackColor="#C6C3C6" ForeColor="Black" /> ???????<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" /> ???????<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" /> ???????<RowStyle BackColor="#DEDFDE" ForeColor="Black" /> ???????<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" /> ???????<SortedAscendingCellStyle BackColor="#F1F1F1" /> ???????<SortedAscendingHeaderStyle BackColor="#594B9C" /> ???????<SortedDescendingCellStyle BackColor="#CAC9C9" /> ???????<SortedDescendingHeaderStyle BackColor="#33276A" /> ???</asp:GridView> ???<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DesignAndImplementationOfHEYTEAConnectionString %>" SelectCommand="SELECT * FROM [UserInfo]"></asp:SqlDataSource> ???????<asp:Button ID="Button1" runat="server" Text="返回" OnClick="Button1_Click" /> ???</div>

>编辑链接的属性CommandArgument有多个参数,其实就是GridView控件中各个列的值。利用GridView控件的RowCommand事件将值传到编辑界面。

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class AdministratorUser : System.Web.UI.Page{ ???protected void Page_Load(object sender, EventArgs e) ???{ ???} ???protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) ???{ ???????if (e.CommandName == "go") ???????{ ???????????????????????string[] estr = e.CommandArgument.ToString().Split(‘,‘); ???????????string uid = Convert.ToString(estr[0]); ???????????string upw = Convert.ToString(estr[1]); ???????????string uname = Convert.ToString(estr[2]); ???????????string email = Convert.ToString(estr[3]); ???????????string upwe = Convert.ToString(estr[4]); ???????????string hs = Convert.ToString(estr[5]); ???????????string cost = Convert.ToString(estr[6]); ???????????string address = Convert.ToString(estr[7]); ???????????string tel = Convert.ToString(estr[8]); ???????????Response.Redirect("AdministratorUserInfo.aspx?uid=" + uid + "&upw=" + upw + "&uname=" + uname + "&email=" + email + "&upwe=" + upwe + "&hs=" + hs + "&cost=" + cost + "&address=" + address + "&tel=" + tel, false); ???????} ???} ???protected void Button1_Click(object sender, EventArgs e) ???{ ???????Response.Redirect("AdministratorMain.aspx"); ???}}

>上面的代码就是将GridView控件的行数据值绑定到后台,通过Response.Redirect()跳转再将值传到编辑页面中的各个控件中。需要在编辑页面的后台代码Page_Load()方>法中加载这些被传过来的数据.

>e.CommandArgument.ToString().Split(‘,‘);绑定多值
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using Business;using Entity;public partial class AdministratorUserInfo : System.Web.UI.Page{ ???protected void Page_Load(object sender, EventArgs e) ???{ ???????if (IsPostBack == false) ???????{ ???????????Bind(); ???????} ???} ???public void Bind() ???{ ???????if (Request.QueryString["uid"] == null) ???????{ ???????????Response.Write("<script>alert(‘对不起,请登录!‘),location.href=‘AdministratorLogin.aspx‘</script>"); ???????} ???????else ???????{ ???????????TextBox1.Text = Request.QueryString["uid"].ToString().Trim(); ???????????TextBox2.Text = Request.QueryString["upw"].ToString().Trim(); ???????????TextBox3.Text = Request.QueryString["uname"].ToString().Trim(); ???????????TextBox4.Text = Request.QueryString["email"].ToString().Trim(); ???????????TextBox5.Text = Request.QueryString["upwe"].ToString().Trim(); ???????????Image1.ImageUrl = Request.QueryString["hs"].ToString().Trim(); ???????????TextBox6.Text = Request.QueryString["cost"].ToString().Trim(); ???????????TextBox7.Text = Request.QueryString["address"].ToString().Trim(); ???????????TextBox8.Text = Request.QueryString["tel"].ToString().Trim(); ???????} ???} ???protected void Button1_Click(object sender, EventArgs e) ???{ ???????UserBusiness u = new UserBusiness(); ???????UserEntity ue = new UserEntity(); ???????ue.Uid = TextBox1.Text.Trim(); ???????ue.Upw = TextBox2.Text.Trim(); ???????ue.Uname = TextBox3.Text.Trim(); ???????ue.Email = TextBox4.Text.Trim(); ???????ue.Upwe = TextBox5.Text.Trim(); ???????????????string path = Server.MapPath("~/Image/"); ???????if (FileUpload1.HasFile) ???????{ ???????????string fileName = FileUpload1.FileName; ???????????path += fileName; ???????????string ext = System.IO.Path.GetExtension(path); ???????????ue.Hs = "~/Image/" + fileName; ???????} ???????ue.Cost =TextBox6.Text.Trim(); ???????ue.Address = TextBox7.Text.Trim(); ???????ue.Tel = TextBox8.Text.Trim(); ???????int res = 0; ???????res = u.Update(ue); ???????if (res > 0) ???????{ ???????????Response.Write("<script>alert(‘修改成功!‘),location.href=‘AdministratorUser.aspx‘</script>"); ???????} ???????????} ???protected void Button2_Click(object sender, EventArgs e) ???{ ???????Response.Redirect("AdministratorUser.aspx"); ???}}

>Request.QueryString(取得地址栏参数值)获取地址栏中的参数,意思就是取得”?"号后面的参数值.如果是多个是用这”&”符号连接起来的.

>前端

 ???<div style="margin:100px 100px" > ???<table class="auto-style1"> ???????<tr> ???????????<td style="text-align:right">uid:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">upw:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">uname:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">email:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">upwe:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">hs:</td> ???????????<td> ???????????????<asp:Image ID="Image1" runat="server" Height="150px" Width="150px" /> ???????????????<asp:FileUpload ID="FileUpload1" runat="server" /> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">cost:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">address:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox7" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td style="text-align:right">tel:</td> ???????????<td> ???????????????<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox> ???????????</td> ???????</tr> ???????<tr> ???????????<td>&nbsp;</td> ???????????<td> ???????????????<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="修改" /> ???????????????<asp:Button ID="Button2" runat="server" Text="返回" OnClick="Button2_Click" /> ???????????</td> ???????</tr> ???</table> ???????</div>

>解释下CommandArgument 获取或设置与关联的 CommandName 属性一起传递到 Command 事件处理程序的可选参数。

>备注
>使用 CommandArgument 属性指定补充 CommandName 属性的参数。

>注意 CommandArgument 属性通常只在设置 CommandName 属性时使用。
>CommandArgument 属性补充 CommandName 属性,允许提供要执行的命令的任何附加信息。例如,可以将 CommandName 属性设置为 Sort 并将 >CommandArgument 属性设置为 Ascending,以指定按升序排序的命令。

参考链接

http://zhidao.baidu.com/question/2744158.html

https://zhidao.baidu.com/question/103507238.html

https://www.cnblogs.com/litao4047/archive/2013/06/14/3135977.html

asp.net 毕业设计遗忘的知识点(十)

原文地址:https://www.cnblogs.com/frankybpx/p/10071831.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved