即使文本框为空,甚至没有在回发中触及,为什么以下结果为真正的if子句? :什么时候Request.Form [“name”]为空,何时为空字符串?
<form action="Default.aspx" runat="server" method="post" id="newform">
<input type="text" id="name" runat="server"/>
</form>
<%
if (Request.Form["name"] != null) // Prints out "Name OK" on postback.
{
Response.Write("<br/>");
Response.Write("Name OK");
}
%>
该文本框实际上是否在回发中包含空字符串(“”)?
为什么下面的结果在第一个页面上加载一个真正的if子句,而不是在回发中? :
<form action="Default.aspx" runat="server" method="post" id="newform">
<input type="text" id="name" runat="server"/>
</form>
<%
if (Request.Form["name"] != "") // Prints out "Name OK" on first page load, but not on postback.
{
Response.Write("<br/>");
Response.Write("Name OK");
}
%>
要获得成功和预期结果,我必须使用以下命令:
<form action="Default.aspx" runat="server" method="post" id="newform">
<input type="text" id="name" runat="server"/>
</form>
<%
if (Request.Form["name"] != null && Request.Form["name"] != "")
{
Response.Write("<br/>");
Response.Write("Name OK");
}
%>
禁用自动友好的URL在asp.net 4.5 http://stackoverflow.com/a/40650127/184572 – 2016-11-17 08:42:30