试一下:
loginname=Session["Department"].ToString().Trim();false可以用非正数表示,-1,0都正常!
输出1,即两字符串值相等;
loginname=Session["Department"].ToString().Trim();false可以用非正数表示,-1,0都正常!
输出1,即两字符串值相等;
解决方案 »
- 如果获取某个值所属类型的默认值,这个的值的类型是不确定的
- 如何将泛型绑定到GridView?
- 问一个 sql 语句 , 关于 查询数据的问题
- 本人最近在网上发现一种搛钱的好方法,拿来与大家分享!
- 求一个sql查询语句
- 做过论坛的朋友都应该会!!!
- asp.net中kodak的imgedit.ocx控件的使用???
- 征集一些国内好的营销管理。crm cvm类思想!
- 小问题(讨论)
- ByVal sender as Object,ByVal e as EventArgs每个SUB后面这句是作什么用的??
- 在服务器上发布aspx网页;
- 高分请教:请问有什么办法可以实现连续新增多行数据至dataset表中呢?
1相等,-1不相等。难道还有其他情况吗?
建议:
loginname=Convert.toString(Session["Department"]);
直接"Session["Department"].ToString();",如果Session["Department"]为null的话,
会引起错误。
试一下
int String.Compare(string a,string b)只有当a,b相等的时候,才等于0
如果不等,才为负数或者正数
用這個測試一下啊
private void Button1_Click(object sender, System.EventArgs e)
{
string aaa="12345";
if(aaa==(string)Session["aaa"])
Response.Write("<script>alert('ok')</script>");
else
Response.Write("<script>alert('fail')</script>");
}
public void SubmitBtn_Click(object sender, System.EventArgs e)
{
//注意:如果加上下面的代码,那么会有重复显示的情况,所以重新定向了一个show.aspx页面,框架大小还是MachineSearch.aspx大小
string loginname=null;
loginname=Session["Department"].ToString().Trim();
string departmentname="设备科";
Response.Write(String.Compare(loginname,departmentname));
/********************下面是正常的代码,上面一行代码是用做测试的******************
if(String.Compare(loginname,departmentname))
{
if(TextBox1.Text==""&&TextBox2.Text=="")
Response.Redirect("machinedeptshowall.aspx");
else if(TextBox1.Text!=""&&TextBox2.Text=="")
{
Session["MachineID"]=TextBox1.Text.Trim();
//Server.Transfer("machinedeptshowpart1.aspx");
Response.Redirect("showpart1.aspx");
}
else if(TextBox1.Text==""&&TextBox2.Text!="")
{
Session["MachineName"]=TextBox2.Text.Trim();
Response.Redirect("machinedeptshowpart2.aspx");
}
else
{
Session["MachineID"]=TextBox1.Text.Trim();
Session["MachineName"]=TextBox2.Text.Trim(); Response.Redirect("machinedeptshowpart3.aspx");
}
Response.Write("输入相等");
}
else
{
if(TextBox1.Text==""&&TextBox2.Text=="")
Response.Redirect("showall.aspx");
else if(TextBox1.Text!=""&&TextBox2.Text=="")
{
Session["MachineID"]=TextBox1.Text.Trim();
//Server.Transfer("showpart1.aspx");
Response.Redirect("showpart1.aspx");
}
else if(TextBox1.Text==""&&TextBox2.Text!="")
{
Session["MachineName"]=TextBox2.Text.Trim();
Response.Redirect("showpart2.aspx");
}
else
{
Session["MachineID"]=TextBox1.Text.Trim();
Session["MachineName"]=TextBox2.Text.Trim();
Response.Redirect("showpart3.aspx");
}
Response.Write(loginname);
}
******************************************************************************//********************下面两行是做测试用的*************************************
Response.Write(loginname);
Response.Write(departmentname);
******************************************************************************/
}
我加了一个Trim()方法后,搞定了
呵呵也给了我一个教训