和hidden控件、Page_Load()有关的问题:(50分求助)

aryak 2003-08-25 01:23:51
搞不懂它啦,第一次显示的时候Message.Text应该为""
为什么Message.Text是"The hidden control contained the value: "
文件如下,hiddenpage.aspx:
//-------------------------------------
<script runat="server" language="c#">
void Page_Load()
{
Message.Text="";
if (Request.Form["hidden1"] != "" )//为什么第一次显示也能进入呢?
{
Message.Text = "The hidden control contained the value: " + Request.Form["hidden1"];
Message.Text +="?";
}
}
</script>
<html>
<head>
<title>Hidden Control Example</title>
</head>
<body>
<asp:label id="Message" runat="server"/>
<form runat="server">
<input name="hidden1" type="hidden" value="green">
<input type="Submit" VALUE="Click here to submit hidden control">
</form>
</body>
</html>
//------------------------------------------
...全文
62 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aryak 2003-08-26
  • 打赏
  • 举报
回复
事实证明,当Request.Form["hidden1"]为null时,Request.Form["hidden1"] != ""成立,
所以在这里和标准的C#不一样。
Request.Form["hidden1"]本身只是一个对对象的引用,当他没有指向任何对象时为null.
zq_hhu 2003-08-25
  • 打赏
  • 举报
回复
Request.Form["hidden1"]为null的话,
Request.Form["hidden1"] != ""是应该产生异常的
BenZ004 2003-08-25
  • 打赏
  • 举报
回复
如思归的方法就可以了.
不仅要判断"",还要判断是否NULL;
因为在C#里面,NULL也代表一个值.
aryak 2003-08-25
  • 打赏
  • 举报
回复
我试过了,在C#中使用一个空的对象引用进行比较会引起编译错误。
如此看来,虽说是C#语言,但在asp.net里面还是有变化的。
aryak 2003-08-25
  • 打赏
  • 举报
回复
谢谢,搞定啦。
请问是不是.net1.0下上面的代码可以用?
还有在C#中Request.Form["hidden1"]为null的话,
(Request.Form["hidden1"] != "")是不是应该产生异常?
panyee 2003-08-25
  • 打赏
  • 举报
回复
<input name="hidden1" type="hidden" value="green" runat="server">

取值
hidden1.Value
saucer 2003-08-25
  • 打赏
  • 举报
回复
because Request.Form["hidden1"] is null?

if (Request.Form["hidden1"] != null && Request.Form["hidden1"] != "")

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧