我用gridview显示数据库的数据,然后添加一列hyperlinkfiled按钮来传值,将gridview某一行的相应的id用他的get方法传值,传给要跳转的页面,通过xxx.aspx?id={0},将字段设置为id来实现,很容易就把值传出去了,
问题是我想用post方法来实现,以为get的url上会把值显示出来,不安全。还有一种情况是用response.redirect(xxx.aspx?id=变量1&name=变量2);这样的用post如何传值。
我以前从来没有用过post,希望能够写详细点。
问题是我想用post方法来实现,以为get的url上会把值显示出来,不安全。还有一种情况是用response.redirect(xxx.aspx?id=变量1&name=变量2);这样的用post如何传值。
我以前从来没有用过post,希望能够写详细点。
解决方案 »
- .net dll的安装包用Inno Setup还是Visual Studio Installer,哪个好?
- ankhsvn插件,更改URL后如何更改源码连接
- timer计时器无法停止事件 求解
- DataGridView日期后面还加了一段乱码?
- 有三个进度条(progress)如何使得进度同步显示完成!
- 急急急急急急急C#)C#窗体中关闭以前隐藏的窗体
- 如何把EXCEL表格的数据读到LISTVIEW或DATASET中并显示出来,并根据列进行过滤显示??
- 菜鸟问题。网页中代码为什么不运行!!!
- 求助坛友
- www.myvc.net征集斑竹
- 多线程控制问题,急呀......
- web.config如何配置全局变量
xxx.aspx?id=变量1&name=变量2在跳转的页面这样写就能取到数据了
Request.QueryString["id"];
接:Request.Form[name]
集合是只读的。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NotSupportedException: 集合是只读的。源错误: 21行出错
行 19: {
行 20: string dd= RadioButtonList1.SelectedValue.Trim();
行 21: Request.Form.Add("oo", dd);
用get提交的话,那么大家有什么方法把?后面的值隐藏或者加密吗?我没有接触过这个方面,不懂啊。
?
你要是怕不安全,完全可以传递前进行加密,或者用其他传递方式,可以隐藏url地址..------------------我也想,但是怎么样做啊,我不会啊。不然就不问了。
private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
/// <summary>
/// DES加密字符串
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="encryptKey">加密密钥,要求为8位</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
public string EncryptDES(string encryptString, string encryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
byte[] rgbIV = Keys;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
} /// <summary>
/// DES解密字符串
/// </summary>
/// <param name="decryptString">待解密的字符串</param>
/// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>
public string DecryptDES1(string decryptString, string decryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
byte[] rgbIV = Keys;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}