一般处理程序的自增,请教
母版HTML页,代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form action="" method="post">
<input type="text" name="txtname" value="{num}"/>
<input type="submit"/>
</form>
</body>
</html>
一般处理程序对其引用,然后自增
int a=1 ;
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
string path = context.Server.MapPath("Addself.htm");
string model = System.IO.File.ReadAllText(path);
if (!string.IsNullOrEmpty("txtxname"))
{
int.TryParse(context.Request.Form["txtname"],out a);
}
a++;
model = model.Replace("{num}", a.ToString());
context.Response.Write(model);
不明白的是 int a,无论我设a为多少,为什么走完
if (!string.IsNullOrEmpty("txtxname"))
{
int.TryParse(context.Request.Form["txtname"],out a);
}
之后,a就只会被赋值为0了?
------解决方案-------------------- if (!string.IsNullOrEmpty("txtxname"))
==>
if (!string.IsNullOrEmpty(context.Request.Form["txtname"]))
------解决方案-------------------- if (
!string.IsNullOrEmpty("txtxname"))
{
int.TryParse(context.Request.Form["txtname"],out a);
}
你这条件永远为真,txtxname字符串当然不为空
你应该判断context.Request.Form["txtname"]这个值是否为空
------解决方案--------------------
"txtxname" 不等于context.Request.Form["txtname"]
"txtxname"这里时一个字符串变量,而且是有值的
------解决方案--------------------context.Request.Form["txtname"]是非数字,转换出错后out参数为0了。
------解决方案--------------------