.net 使用POST或会话捕获数据
我目前正在使用ASP.NET中的VB开发web应用程序 现在我有一个带有面板的页面,我们使用这些面板来显示/隐藏流量。当用户第一次进来时,他/她会看到一个包含客户端列表的gridview。然后,用户单击一行中的链接,并显示一个表单,他/她可以在其中更新客户信息 最初,我有一个超链接字段,将clientId放在url中,然后我会获取url并适当地编写代码.net 使用POST或会话捕获数据,.net,asp.net,vb.net,.net,Asp.net,Vb.net,我目前正在使用ASP.NET中的VB开发web应用程序 现在我有一个带有面板的页面,我们使用这些面板来显示/隐藏流量。当用户第一次进来时,他/她会看到一个包含客户端列表的gridview。然后,用户单击一行中的链接,并显示一个表单,他/她可以在其中更新客户信息 最初,我有一个超链接字段,将clientId放在url中,然后我会获取url并适当地编写代码 <asp:HyperLinkField Text='<%$ Resources:Resource, ManageClient %&g
<asp:HyperLinkField Text='<%$ Resources:Resource, ManageClient %>' DataNavigateUrlFields="CLIENT_ID" DataNavigateUrlFormatString="~/clients/manage.aspx?clientId={0}" />
现在,我正在重新思考这一点,并想知道是否最好使用会话来通过它获取客户ID
<asp:TemplateField Visible="false"><ItemTemplate><asp:Label runat="server" ID="hidClientId" Text='<%# Bind("CLIENT_ID")%>' Visible="false" /></ItemTemplate></asp:TemplateField>
<asp:ButtonField Text='<%$ Resources:Resource, ManageClient %>' CommandName="Manage" />
或者使用POST方法,我不确定它在.NET中是如何工作的(但我在PHP中使用过)
任何帮助都将不胜感激。我更喜欢使用查询字符串。取决于此数据是否敏感。如果是敏感的,我会使用session,因为跨页面发布是一场噩梦。老实说,我认为您应该使用querystring(如第一个示例中所示)。主要原因是这将允许后退/前进/刷新按钮正常工作 如果您使用post或postback类型的方法,那么您会遇到这样的情况:用户可以点击refresh并获得令人讨厌的表单重新提交消息。有时候,表单帖子是有意义的,但我不认为发送一个小参数就是其中之一 现在,如果您仍然希望会话的功能能够记住状态,那么您仍然可以使用querystring来实现。只需将querystring传递给页面,将会话设置为querystring值。下次页面出现时,如果没有查询字符串,请编写代码检查它是否有会话值,并改用该值 e、 g
数据是回发到同一页,还是要转到另一页?同一页。。。我正在使用一个带有面板的页面来显示/隐藏所需的部分(GridView、表单等)。数据不是“真正”敏感的。。。ClientID只是DB提供的一个id。这有点像社会保险号码(SIN)。非常感谢。谢谢你的观点,史蒂夫。我还没有想到“刷新”的噩梦;)正如我对BritishDeveloper所说的,数据不敏感,所以这不是什么大问题。我主要是想确定我是以正确的方式做这件事的。非常感谢。
Dim iClientID As Integer
If IsNumeric(Request.QueryString("ClientID")) Then
iClientID = CInt(Request.QueryString("ClientID"))
Session("ClientID") = iClientID
ElseIf IsNumeric(Session("ClientID")) Then
iClientID = CInt(Session("ClientID"))
End If