Web——页面“传值、赋值”与页间“传值”
前言
前期我们学习C/S开发的时候,采用三层架构,U层的参数在每个层之间传来传去,那么现在我们接触到的B/S,在Web前端是如何与后台进行传值赋值呢?由于本人是菜鸟一枚,下面写的不恰当的地方,望路过的大神指点一二。
内容
以牛腩新闻发布系统中新闻管理为例,说明Web前端怎么与后台传值赋值,并且怎么在网页之间进行传值的。
代码
<span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ Page Title="" Language="C#" MasterPageFile="~/admin/m_common.master" AutoEventWireup="true" CodeBehind="newsmanager.aspx.cs" Inherits="Web.admin.newsmanager1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="m_contentPlaceHolder" runat="server">
<div id ="camanager" class ="round2">
<h3>新闻管理</h3>
<div class ="con" >
<div class="fontcolor">提示:点击新闻标题后可进行对该新闻评论的删除!</div>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="m_table">
<tr>
<th class ="xuhao">序号</th>
<th >标题</th>
<th class ="del">修改</th>
<th class ="del">删除</th>
</tr>
<%--<repeater控件对数据进行绑定,并且显示在页面上>--%>
<asp:Repeater ID="repNews" runat="server">
<ItemTemplate>
<tr>
<%--<将数据库中内容显示在网页上>--%>
<td><%#Eval("id") %></td>
<%--<进行页面之间传值,将本网页id号作为另一个页面的外键获得与另一个页面的联系>--%>
<td><a href='../newscontent.aspx?newsid=<%#Eval("id") %>' target="_blank"><%#Eval("title") %></a></td>
<td><a href='modnews.aspx?newsid=<%#Eval("id") %>' target="_blank">修改</a></td>
<td>
<%--<linkbutton一方面通过该按钮在后天编写方法,另一方面可以通过点击该按钮进行提示内容>--%>
<asp:LinkButton ID="lbtnDel" OnClientClick="return confirm('删除新闻会连同其下评论一起删除,是否确认删除?')" OnClick="lbtnDel_Click" CommandArgument='<%#Eval("id") %>' runat="server">删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="footer" >
<p> </p>
</div>
</div>
</asp:Content></span>
其中下面代码说明了怎么对数据源进行绑定,并且以表格的形式显示出来,怎么进行网页与网页之间进行传值的。
- 前端
<span style="font-family:KaiTi_GB2312;font-size:18px;"> <table class="m_table">
<tr>
<th class ="xuhao">序号</th>
<th >标题</th>
<th class ="del">修改</th>
<th class ="del">删除</th>
</tr>
<%--<repeater控件对数据进行绑定,并且显示在页面上>--%>
<asp:Repeater ID="repNews" runat="server">
<ItemTemplate>
<tr>
<%--<将数据库中内容显示在网页上>--%>
<td><%#Eval("id") %></td>
<%--<进行页面之间传值,将本网页id号作为另一个页面的外键获得与另一个页面的联系>--%>
<td><a href='../newscontent.aspx?newsid=<%#Eval("id") %>' target="_blank"><%#Eval("title") %></a></td>
<td><a href='modnews.aspx?newsid=<%#Eval("id") %>' target="_blank">修改</a></td>
<td>
<%--<linkbutton一方面通过该按钮在后天编写方法,另一方面可以通过点击该按钮进行提示内容>--%>
<asp:LinkButton ID="lbtnDel" OnClientClick="return confirm('删除新闻会连同其下评论一起删除,是否确认删除?')" OnClick="lbtnDel_Click" CommandArgument='<%#Eval("id") %>' runat="server">删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table></span>
- 后台
表格显示(其实可以直接在前端给一个DataGrid控件直接绑定数据源)但是牛腩老师后来由于某种原因没有采用那种方法(这个没有仔细研究过)
<span style="font-family:KaiTi_GB2312;font-size:18px;"> #region 绑定新闻列表
private void BindNews()
{
//绑定数据源,给前端repnews传值;
repNews.DataSource = new NewsManager().SelectAll();
repNews.DataBind();
}
#endregion</span>
- 页面与页面直接传值(接受值语法)
<span style="font-family:KaiTi_GB2312;font-size:18px;"> string newsid = Request.QueryString["newsid"];</span>
以牛腩新闻发布系统中添加新闻为例,说明Web前端是怎么与后台进行传值、赋值;
代码
<span style="font-family:KaiTi_GB2312;font-size:18px;"> <%@ Page Title="添加新闻_后台管理——牛腩新闻发布系统" Language="C#" MasterPageFile="~/admin/m_common.master" AutoEventWireup="true" ValidateRequest="false" CodeBehind="addnews.aspx.cs" Inherits="Web.admin.addnews" %>
<%@ Register assembly="FreeTextBox" namespace="FreeTextBoxControls" tagprefix="FTB" %>
<asp:Content ID="Content1" ContentPlaceHolderID="m_contentPlaceHolder" runat="server">
<div id ="addnews" class ="round2">
<h3>添加新闻</h3>
<div class ="con" >
<%--<声明DropDownlist下拉框控件,用于接受后台给的参数——“控件的赋值”>--%>
<p> 新闻分类:<asp:DropDownList ID="ddlCategory" runat="Server"></asp:DropDownList>
</p>
<%--<声明textbox文本框控件,用于接受后台给的参数——“控件的赋值”>--%>
<p> 新闻标题:<asp:TextBox ID="txtTitle" runat="server" CssClass ="newstitle"></asp:TextBox></p>
<p> 新闻内容:</p>
<p>
<%--<asp:TextBox ID="txtContent" runat="server" TextMode ="MultiLine" CssClass ="newscontent" ></asp:TextBox>--%>
<FTB:FreeTextBox Text="" Language="zh-CN" ToolbarStyleConfiguration="OfficeMac" ID="ftbContent" Width="500" Height="200" runat="server">
</FTB:FreeTextBox>
</p>
<p> <asp:Button ID="btnAdd" runat="server" Text="添加新闻" OnClick="btnAdd_Click" /></p>
</div>
<div class="footer" >
<p> </p> </div>
</div>
</asp:Content></span>
- 其中Web前端是怎么与后台进行传值、赋值
<span style="font-family:KaiTi_GB2312;font-size:18px;"><div class ="con" >
<%--<声明DropDownlist下拉框控件,用于接受后台给的参数——“控件的赋值”>--%>
<p> 新闻分类:<asp:DropDownList ID="ddlCategory" runat="Server"></asp:DropDownList>
</p>
<%--<声明textbox文本框控件,用于接受后台给的参数——“控件的赋值”>--%>
<p> 新闻标题:<asp:TextBox ID="txtTitle" runat="server" CssClass ="newstitle"></asp:TextBox></p>
<p> 新闻内容:</p>
<p>
<%--<asp:TextBox ID="txtContent" runat="server" TextMode ="MultiLine" CssClass ="newscontent" ></asp:TextBox>--%>
<FTB:FreeTextBox Text="" Language="zh-CN" ToolbarStyleConfiguration="OfficeMac" ID="ftbContent" Width="500" Height="200" runat="server">
</FTB:FreeTextBox>
</p>
<p> <asp:Button ID="btnAdd" runat="server" Text="添加新闻" OnClick="btnAdd_Click" /></p>
</div></span>
- 后台
<span style="font-family:KaiTi_GB2312;font-size:18px;"> protected void btnAdd_Click(object sender, EventArgs e)
{
//给前端赋值传值;
string title = txtTitle.Text.Trim();
string content = ftbContent.Text.Trim();
string caid = ddlCategory.SelectedValue; News n = new News(title, content, caid);
bool b = new NewsManager().insert(n); if (b)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript'defer>alert('新闻添加成功!');</script>");
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript'defer>alert('新闻添加失败,请联系系统管理员!');</script>");
}
//清空标题和内容;
txtTitle.Text = "";
ftbContent.Text = "";
}</span>
其实,敲完牛腩新闻发布系统后,自己在验收的时候收获最多,通过师父指点,体会到了B/S的魅力之处。
小结
1、变是永远不变的。不管是C/S还是B/S,离不开增删改查。
2、学会用旧知识消灭新知识。
感谢您的宝贵时间~~~
Web——页面“传值、赋值”与页间“传值”的更多相关文章
- vue中父子间传值和非父子间传值
vue传值一般分三种方式:父组件向子组件传值.子组件向父子间传值.非父子组件进行传值 一.父组件向子组件传值:父组件引用子组件后,通过数据绑定(v-bind)向子组件传值 父组件: <templ ...
- ASP.NET中使用Server.Transfer()方法在页间传值 实例
以下代码在VS2008中测试通过 <%@ Page Language="C#" AutoEventWireup="true" CodeFile=" ...
- Vue中组件间传值常用的几种方式
版本说明: vue-cli:3.0 一.父子组件间传值 1.props/$emit -父组件==>>子组件: 子组件中通过定义props接收父组件中通过v-bind绑定的数据 父组件代码 ...
- Vue学习(二)-Vue中组件间传值常用的几种方式
版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...
- JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
在WEB页面中,我们实现页面跳转的方法通常是用LINK,BUTTON LINK ,IMG LINK等等,由用户点击某处,然后直接由浏览器帮我们跳转. 但有时候,需要当某事件触发时,我们先做一些操作,然 ...
- ASP.NET页面间传值总结
本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此, ...
- MUI框架-02-注意事项-适用场景-实现页面间传值
MUI框架-02-注意事项-适用场景-实现页面间传值 关于开发,我拷贝太多也没什么意义,就请查阅:官方文档:http://dev.dcloud.net.cn/mui/ui/ 快速入门 - 注意事项 有 ...
- Asp.net页面间传值方式汇总
七种传值方式,分别是:URL传值,Session传值,Cookie传值,Server.Transfer传值,Application传值,利用某些控件的PostBackUrl属性和使用@Previous ...
- iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值实现方法:1.通过设置属性,实现页面间传值:2.委托delegate方式:3.通知notification方式:4.block方式:5.UserDefault或者文件方式:6.单例模式 ...
随机推荐
- 英语发音规则---/ŋ/与/ŋg/的读音区别
英语发音规则---/ŋ/与/ŋg/的读音区别 一.总结 一句话总结: 1.位于词中间的字母组合ng,有时读作/ ŋ /,有时读作/ ŋg/? singer ['sɪŋə] n. 歌手 ringing ...
- Asp.Net页面生命周期【转载,地址:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html】
一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面, 完全识别 HTTP 页 ...
- BZOJ1799 [Ahoi2009]self 同类分布[数位DP]
求出[a,b]中各位数字之和能整除原数的数的个数. 有困难的一道题.被迫看了题解:枚举每一个各位数字的和($<=162$),设计状态$f[len][sum][rest]$表示dp后面$len$位 ...
- P1364 医院设置
题目描述 设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口.圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为l.如上 ...
- BZOJ1707:[Usaco2007 Nov]tanning分配防晒霜
我对贪心的理解:https://www.cnblogs.com/AKMer/p/9776293.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...
- Debain install Jupyter
1. install Anaconda https://www.anaconda.com/download/#linux 2. config jupyter $ ipython from notebo ...
- MySQL的变量--系统变量、状态变量
MySQL的变量分为以下两种:1)系统变量:配置MySQL服务器的运行环境,可以用show variables查看2)状态变量:监控MySQL服务器的运行状态,可以用show status查看 一.系 ...
- linux-java环境安装以及ssh
1 下载Java8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2 使用 ...
- ubuntu安装配置ApachePhpMysql
1.安装之前先sudo源 sudo apt update 2.安装Apache2 sudo apt install apache2 3.更改默认目录: vi /etc/apache2/apache2. ...
- ubuntu server usb安装盘制作问题
本来服务器上装的是windows server 2003,开多个虚拟机装linux来用,但发现不管是vmware还是virtualbox,总是有内存泄漏,大约2个星期左右16G内存就全没了,任务管理器 ...