如何在C#中使用ToString()后摆脱不需要的空格?

时间:2014-08-27 16:59:35

标签: c# asp.net object-to-string

这可能是Session的问题,而不是ToString(),我不确定。

我有两个.aspx页面,我想将数据表中的IP地址从一个页面传递到另一个页面。当我这样做时,添加了我不想要的空格。代码的简单版本是:

首先.aspx页面

int num = DropDownList1.SelectedIndex;
DataView tempDV = SqlDataSource2.Select(DataSourceSelectArguments.Empty) as DataView;

Session["camera"] = tempDV.Table.Rows[num].ItemArray[2];
Response.Redirect("test.aspx");

test.aspx page

string ipCamAdd = Session["camera"].ToString();

TextBox1.Text = "http://" + ipCamAdd + "/jpg/image.jpg?resolution=320x240";

我要打印的是

http ://ipadd/jpg/image.jpg?resolution=320x240

但打印出来的是

http//ipaddress      /jpg/image.jpg?resolution=320x240

我该如何解决这个问题?

另外,我问了这个问题,希望有人能告诉我为什么会这样。抱歉错误。

3 个答案:

答案 0 :(得分:3)

试试这个:

string ipCamAdd = Session["camera"].Trim().ToString();

对于有效的关注,Session [“camera”]可以为null,在代码中添加如下函数

    static string ToSafeString(string theVal)
    {
        string theAns;
        theAns = (theVal==null ? "" : theVal);
        return theAns;
    }

然后使用:

  

string ipCamAdd = Session [“camera”]。ToSafeString()。Trim();

答案 1 :(得分:2)

如果您只想摆脱空格,可以使用string.Replace

TextBox1.Text = "http://" + (ipCamAdd ?? "").Replace(" ", "") + "/jpg/image.jpg?resolution=320x240";

答案 2 :(得分:1)

在设置为会话之前修剪结果。

Session["camera"] = tempDV.Table.Rows[num].ItemArray[2].Trim();

似乎在SQL中,如果您将数据类型转换为char(*)并重新输入数据,那么您的数据类型为varchar