我在网格视图中有这个图像按钮,它将组名重定向到发送message.aspx。
<asp:ImageButton ID="img_Send" ImageUrl="Styles/Images/Message.jpg" Enabled="True" Width="" runat="server" PostBackUrl='<%# Eval("GroupName", "SendMessage.aspx?GroupName={0}") %>'></asp:ImageButton>
http://localhost:48996/SurelyK/SendMessage.aspx?GroupName=Jobs 这是网址
是否可以将值存储在客户端的会话中,以便我可以在服务器端编码中使用它。
我不想传递URL中的值。如何在不通过URL的情况下执行此操作。
第二个q:我也在用户页面中执行相同操作,我传递了用户ID。
http://localhost:48996/SurelyK/SendMessage.aspx?UserID=3
在我的sendmessage服务器端代码中,我必须将消息保存在消息表中,然后将用户名和消息ID保存在usermessage表中。
用于插入userdetails usermessage表的代码和用于在grouptable中插入groupdetails的代码是不同的。我必须在发送按钮单击时执行这两项操作。如何检查重定向哪个页面发送消息页面,是组还是用户页面..
答案 0 :(得分:0)
您可以使用以下方案。但为此,您需要使用Server.Transfer而不是Respons.Redirect
http://msdn.microsoft.com/en-us/library/system.web.ui.page.previouspage.aspx
答案 1 :(得分:0)
您要找的是一个cookie。 Cookie存储客户端状态信息,并随每个请求一起发送到服务器。这是一篇关于如何在ASP.NET中使用它们的文章
答案 2 :(得分:0)
一种可能性就是按照你说的做,即将Session中的值放在一个页面中,然后在另一个页面中检索它。例如:
在一个页面中,您可以执行此操作:
Session["Key"]=value;
在另一个页面中,您可以像这样检索它:
var myData = Session["Key"];
你也可以做JohnFX提出的建议,即在A页上创建一个cookie并在第B页上阅读。
对于第二个问题,如果你采用Session方法,你可以这样做:
在将用户重定向到SendMessage页面的页面上,您可以执行以下操作:
会话[“USER”] =“用户”或Session["GROUP"]="Group";
在SendMessage.aspx
页面上,检查Session["User"]
是否为空,如果不为空,则表示用户已从User
页面重定向;如果为null,则检查Session["Group"]
是否为空,如果不是,则表示用户已从Group
页面重定向。
答案 3 :(得分:0)
将groupname
放入客户端更新的隐藏html字段中。它将被发布到服务器,您可以从请求中读取它。
<asp:HiddenField runat="server" ID="groupname" Value='<%# Eval("GroupName") %>'/>
<asp:ImageButton ... PostBackUrl="SendMessage.aspx" />
然后在SendMessage中:
var groupname = Request["GroupName"]