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

点击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

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

时间: 2024-08-02 13:50:23

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

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

1.类型"ImageButton"的控件"..."必须放在具有runat=server的窗体标记内. 原因是ImageButton控件没有放在form元素中,并且一个aspx页面只能有一个form. 例如: <form runat=server> <asp:TextBox id="TextBox2" runat="server"></asp:TextBox> </form> 原文

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

asp.net mvc 3.0 知识点整理 ----- (4).HtmlHelper(Html 辅助方法)介绍

在View视图中,Html的类型是System.Web.Mvc.HtmlHelper<T>, 所有的辅助方法都需要和ModelState交互.那么,ModelState是什么呢?它是模型绑定的附属品,并且存有模型绑定期间检测到的所有验证错误.以及用户提交用到来更新模型的原始值.本篇博文,我们主要来介绍下一些常用的html辅助方法的主要作用和使用方法. 1. Html.BeginForm()和Ajax.BeginForm().   Html.BeginForm(): 同于传统的表单提交,主要是生

asp.net mvc 3.0 知识点整理 ----- (3).asp.net mvc 3 和asp.net mvc 4 对比

asp.net mvc的版本更新很快,每个版本都在前一个版本的基础上,进行性能的优化和功能的完善和提升. 以下,便是我对比了下两个版本,发现最基本的差异.(更新补充中..) 一.关于配置类Global.asax的不同 为了较少配置类的杂乱代码,asp.net mvc 4 中 将Global.asax文件中的内容单独到 App_Start 下的几个配置文件中去. 在asp.net mvc 3 中: public static void RegisterGlobalFilters(GlobalFil

Asp.Net毕业设计论文

毕业设计都需要+论文.下面我们来说说.Net毕业设计论文需要写一些什么东西. 一.开发环境和相关技术要点. 一个项目,这个是必须要说明的,不可能做完一个项目,你不说明运行环境,要别人去猜 .比如说.Net版本.vs版本等等. 二.需求说明 你为什么要做这个项目?为什么要做这个网站?他解决了那些问题?带来了那些好处.这些都必须说明清楚. 三.系统设计 这个项目架构是怎么设计的,数据库是怎么设计的?都必须明确的表达清楚. 四.系统实现 你是怎么样实习你的系统设计的.运用了那些技术.你的项目有什么亮点

[转]我要学ASP.NET MVC 3.0(十二): MVC 3.0 使用自定义的Html控件

本文转自:http://www.cnblogs.com/lukun/archive/2011/08/05/2128693.html 概述   在ASP.NET MVC框架中已经封装了很多基于Html标准的Html控件,我们可以方便的使用这些控件输出想要的内容,使开发变得快捷. 例如ASP.NET MVC框架包括以下设置标准的HTML控件(部分控件): Html.ActionLink() Html.BeginForm() Html.CheckBox() Html.DropDownList() Ht

提高ASP.NET应用程序性能的十大方法

一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,

数往知来 ASP.NET Cookie Session Url &lt;二十九&gt;

ViewState_Cookie 一.Request的几个成员 -->Request.UrlReferrer():请求的来源,就是客户端上一次请求的url地址,防止盗链 -->Request.UrlHostAddress;获取浏览器端的IP地址,通过Socket.RemoveEndPoint  获得的客户端IP地址 -->Request.MapPath();   跟context.ServerMapPath()一样 二.Response的成员 -->Respose.Buffer 缓

Asp.Net Web API 2第十课——使用OWIN自承载Web API

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本教程主要来展示在控制台应用程序中如何通过OWIN来承载Web API. Open Web Interface for .NET (OWIN)在Web服务器和Web应用程序之间建立一个抽象层.OWIN将网页应用程序从网页服务器分离出来,然后将应用程序托管于OWIN的程序而离开IIS之外. 本文仍将使用VS2013. 本文的示