开发中经常需要将值存起来,当点击某一项时以便知道点击了哪一项。

一:应用JS页面跳转(牛腩中讲到)

HTML:

<td class="txt c"><a  href='ModifyExamStudentInformationVir.aspx?ExanID=<%#Eval("ExanID")%> & WorkNo=<%#Eval("WorkNo")%>' target="_blank"><%#Eval("CourseTypeCode") %></a></td>

后台:

string WorkNo = Request.QueryString["WorkNo"];
string ExamID = Request.QueryString["ExamID"];

二:使用LinkButton的CommandArgument保存参数方式。(无需跳转页)

LinkButton组件是一个服务器端的组件,类似于HTML中的<A>标识符。主要作用是就是在页面中显示一个超链接。当这个链接被按动的时候,页面就会往服务器端传递信息,并且在服务器端来处理相应的事件。

1,LinkButton常用属性和事件:

a,CommandName,CommandArgument这二个属性在功能上基本相同,当Click事件被触发的时候,通过这二个属性可以方便的往服务器端传递数据。

b,OnClick这个事件是当组件被Click的时候触发

c,OnCommand这也是一个事件,并和上面OnClick事件类似,区别在于,这个事件在被触发的时候,往服务器端传递CommandName,CommandArgument属性值.

2,CommandName属性和CommandArgument属性:

LinkButton组件中CommandName属性和CommandArgument有着非常重要的作用。

举例如下:

假如页面中有100个 LinkButton,那么在服务器端要判断到底是哪个LinkButton被按动了。如果没有这二个属性,可以通过给每一个LinkButton的Text属性赋值,然后通过检测Text属性值,来判断到底是哪个LinkButton被按动了。可以通过给每一个LinkButton命不同的名然后在事件处理函数中,通过检测Sender属性值来判断哪个LinkButton被按动。虽然上述这些方法都是可行的,但无一不繁琐。有了CommandName属性和CommandArgument属性就可以方便的解决这些问题。

在程序中给LinkButton的CommandName属性和CommandArgument属性赋值,然后通过OnCommand事件中,可以得到从CommandEventArgs类中的数据,从而判断哪个 LinkButton被按动。CommandEventArgs类存储了和按钮(Button)事件相关的数据,并且可以在事件处理中通过CommandEventArgs类的属性来访问数据。当LinkButton被按动后,这个LinkButton所触发的数据都被储存到服务器的CommandEventArgs类中,访问CommandEventArgs类中的属性就访问了被按动的LinkButton。

3,LinkButton使用方法举例说明(根据id值去服务器查找):

前台:

代码如下:

<asp:LinkButton runat="server" ID="lbtnUp" CommandArgument='<%#Eval("id") %>' OnClick="lbtnUp_Click">修改</asp:LinkButton>

后台:

代码如下:

protected void lbtnUp_Click(object sender, EventArgs e)
{
string id = ((LinkButton)sender).CommandArgument;
}

应用举例(直接用js显示):

当网页上有多个 LinkButton 控件时,使用 CommandName 属性指定或确定与所单击的 LinkButton控件关联的命令名。可以用标识要执行的命令的任何字符串来设置 CommandName 属性。然后,可以以编程方式确定 LinkButton控件的命令名并执行相应的操作。

使用 CommandArgument 属性可以指定命令的补充信息(如指定 Ascending 排序顺序)。

<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script language="C#" runat="server"> void LinkButton_Command(Object sender, CommandEventArgs e)
{
Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
} </script> </head>
<body> <form runat=server> <h3>LinkButton Command Event Example</h3> <asp:LinkButton id="LinkButton1"
Text="Order Item 10001"
CommandName="Order"
CommandArgument="10001"
OnCommand="LinkButton_Command"
runat="server"/> <br> <asp:LinkButton id="LinkButton2"
Text="Order Item 10002"
CommandName="Order"
CommandArgument="10002"
OnCommand="LinkButton_Command"
Runat="server"/> <br>
<p> <asp:Label id="Label1" runat="server"/> </form>
</body>
</html>

附加:LinkButton绑定多值

举例:

<asp:LinkButton ID="btnSell" class="btn" OnCommand="btnSell_Click" CommandName="Skip"
CommandArgument="<%# Eval("TicketID").ToString()+"|"+Eval("TotalCount").ToString()+"|"+Eval("SellCount").ToString() %>' runat="server"></asp:LinkButton> 

后台:

protected void btnSell_Click(object sender, EventArgs e)
{
if (Request.Cookies["TalentUserInfo"] == null)
{
ShowAndRedirect(this, "您还未登陆!",
"/member/login.html");
}
else
{
object BuyPeopleName = HttpContext.Current.Session["TalentUserInfo"];
JobLord_Job.Model.SC_TicketDetail ticketDetail = new JobLord_Job.Model.SC_TicketDetail(); if (e.CommandName == "Skip")
{
object[] arguments = e.CommandArgument.ToString().Split('|');
} }

应用Split函数,将获取到的字符串在字符串的'|'处拆分即可

举例:

如何在字符串的空格处拆分该字符串

DimTestString As String = "Look at these!"

' 返回的数组包含 "Look", "at",and "these!".

DimTestArray() As String = Split(TestString)

BS中保存参数的更多相关文章

  1. 如何获取url中的参数并传递给iframe中的报表

    在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...

  2. vue中如何不通过路由直接获取url中的参数

    前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接 ...

  3. unserialize函数中的参数是否是污染数据

    1.原理 在程序编写的时候,往往需要序列化一些运行时数据,所谓序列化就是按照一定的格式将运行时数据写入本地文件.这样做可以对数据进行本地保存,用的时候直接读文件就可以把运行时产生的数据读出.php中就 ...

  4. JavaScript中函数参数的按值传递与按引用传递(即按地址传递)

    首先声明一句:JavaScript中所有函数的参数都是按值传递的!不存在按引用传递! 在讲传递参数之前我们先来讲一下指针. 学过C指针的应该都知道,指针变量中保存的是一个地址,程序可以根据所保存的地址 ...

  5. 【Android Developers Training】 26. 在SQL数据库中保存数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. spring boot拦截器中获取request post请求中的参数

    最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取 ...

  7. C语言中可变参数的函数(三个点,“...”)

    C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...

  8. (转)python中函数参数中如果带有默认参数list的特殊情况

    在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]):     for i in range(x):         ...

  9. go的gin框架从请求中获取参数的方法

    前言: go语言的gin框架go里面比较好的一个web框架, github的start数超过了18000.可见此框架的可信度 如何获取请求中的参数 假如有这么一个请求: POST   /post/te ...

随机推荐

  1. **极光推送PHP服务器端推送移动设备消息(Jpush V2 api)

    jpush.php  这是推送方法  用到curl发送请求 <?php /** * 极光推送php 服务器端 * @author yalong sun * @Email <syl_ad@1 ...

  2. K8S的APISERVER,应用了HTTPS之后,命令行如何访问?

    用命令行总是很麻烦,因为要自定义一些证书的位置....... curl https://1.2.3.1:443/api/v1/nodes \ --cacert /etc/kubernetes/pki/ ...

  3. office2007/2010/2013输入公式的正确方式

    博客中的文章均为 meelo 原创,请务必以链接形式注明本文地址 理工科的学生,写报告.写论文那面需要输入公式,过去大家常用的公式编辑器是mathtype,虽然功能强大,但输入极为不方便,输入个指数. ...

  4. .net 杂项

    vs 打印信息到输出窗口 : System.Diagnostics.Debug.WriteLine("打印信息到输出窗口,但是只能在Debug版本运行,到了release版本中,Debug类 ...

  5. 定位所用的class

    方案 为解决类冲突,我们可以使用下述的方案定位一个class所在的位置 ClassName. package cn.j2se.junit.classpath; import static org.ju ...

  6. 洛谷——P1478 陶陶摘苹果(升级版)

    题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力 ...

  7. 洛谷——P1748 H数

    P1748 H数 题目背景 无 题目描述 所谓H数,是指只含有2,3,5,7这些质因数的数,如630是H数,而22不是.现在要求输出第n个H数,为了方便起见将H[1]定为1.已知n不超过10000,最 ...

  8. dijkstra算法模板及其用法

    Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Di ...

  9. 【BZOJ 1455】 1455: 罗马游戏 (可并堆-左偏树+并查集)

    1455: 罗马游戏 Description 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团.最近举行了一次平面几何测试,每个人都得到了一个分数. 皇帝很喜欢平面几何,他对那 ...

  10. CXF浅析

    CXF 框架支撑环境    CXF 框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Ser ...