2012-12-06 41 views
0

我将一个GUID分配给一个表单字段,但它没有与表单一起提交。背后如何提交guid作为隐藏表单域?

GuidToken = [valid guid]; 
//check that guid successfully assigned - yes 

<asp:HiddenField ID=GuidToken" runat="server"/> 

//伪代码一旦提交表单,我提取所有表单值:

Request.Form["GuidToken"] 

其他值来通过罚款,但上面是空。这是什么特定于guid?

+0

您的标记格式不正确 - 您能纠正它吗? – codingbiz

回答

2

我不知道你要完成的任务。但是您可能需要考虑使用会话变量来将您的令牌GUID存储并“传递”给不同的页面?

Session["GuidToken"] = myGeneratedGUID; 

后来

var retrievedGUID = Session["GuidToken"]; 

一定要检查NULL,会话可以岗位之间到期。

+0

我决定只是通过表单URL传递它,因为我不想让它生活在任何地方。 – 4thSpace

3

您是否有使用Request.Form的原因?您应该使用

Guid myGuid = Guid.Parse(GuidToken.Value); 

如果你仍然想使用的Request.Form,我不会推荐,隐藏字段控件的名称已被更改asp.net所以你因为指定正是集合不包含它有一些自动生成的命名约定添加到它。现在看起来像这样

Request.Form["ctl00$MainContent$GuidToken"] 

调试模式

enter image description here

+0

这被提交给一个完全不同的aspx。 GuidToken和您提到的自动生成的名称不可用。 – 4thSpace

+0

如果您从另一个.aspx文件提交,自动生成仍然适用。东西被添加到控件ID – codingbiz

+0

但在这种情况下,您仍然使用Request.Form []。无论如何,我们正在摆脱原来的问题。 – 4thSpace