我正在用剃刀写我的第一个应用程序,并且发现它很有趣并令人上瘾。我在这个网站上找到了解决我的代码中很多错误真的很有用的答案。所以,已经向社区表示感谢。我已经完成了我的程序,这是一个测验网站,它允许用户将自己的问题和答案上传到数据库。使用HTML表单比较2个字符串
我遇到了一个问题,比较字符串,其中一个变量是通过使用get方法的html表单传递的。如果用户回答正确的答案,我的页面显示两个变量(字符串)是相同的,但在比较它们时,我的布尔仍然返回false。
对不起,如果这是显而易见的,或已经被问过。如果是这样,你能否将我重定向到一个能解释我做错了什么的源代码。 非常感谢 下面是部分代码不起作用
@{
var uAns = " ";
var cAns = "x";
bool? anBool = null; // should set to true if user answer is correct
if (!Request.QueryString["uAnswer"].IsEmpty())
{
uAns = Request.QueryString["uAnswer"];
}
if (String.Equals(uAns, cAns, StringComparison.OrdinalIgnoreCase) == true)
{
anBool = true;
}
else
{
anBool = false;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="" method="get">
<p><label for="uAnswer">Answer:</label>
<input type="text" name="uAnswer" value=" "/>
</p>
<p><input type="submit"/></p>
</form>
uAns = @uAns
cAns = @cAns
<p>anBool = @anBool</p> // why is this always false ?? :-(
</body>
</html>
只是为了更新 - 如果我自己的状态值更改为: 值=“@的Request.QueryString [” uAnswer“]” 我的工作形式,因为它应该。但值是: value =“@ uAns” 我的bool返回false。 由于:uAns = Request.QueryString [“uAnswer”]为什么一个工作,而不是其他? –