在querystring asp.net中替换NULL

时间:2013-08-14 13:09:26

标签: asp.net replace

我在按钮上有一个Response.Redirect,其中有两个查询字符串参数,用于保存两个文本框中的值。如果我将文本框留空,我会收到以下网址:/Order.aspx?LastName=&FirstName=。我想将NULL值替换为“%20”,如/Order.aspx?LastName=%20&FirstName=%20

请帮助我用if语句改变这个,我真的很陌生。这是我的代码:

protected void btnSearchFirstLastName_Click(object sender, EventArgs e)
{
    Response.Redirect("~/Order.aspx?LastName=" + SearchLastName.Text.Trim() + "&FirstName=" + SearchFirstName.Text.Trim());
}

3 个答案:

答案 0 :(得分:2)

使用string.IsNullOrEmpty检查字符串,如果为true,则设置您选择的内容,如" "string.Empty

protected void btnSearchFirstLastName_Click(object sender, EventArgs e)
{
    Response.Redirect("~/Order.aspx?LastName=" 
    + string.IsNullOrEmpty(SearchLastName.Text) ? " ": SearchLastName.Text.Trim() 
    + "&FirstName=" + string.IsNullOrEmpty(SearchFirstName.Text) ? " " : SearchFirstName.Text.Trim());
}

答案 1 :(得分:2)

protected void btnSearchFirstLastName_Click(object sender, EventArgs e)
{
    string firstName = "%20";
    string lastName = "%20";

    if (!string.IsNullOrWhitespace(SearchFirstName.Text)
        firstName = SearchFirstName.Text.Trim();

    if (!string.IsNullOrWhitespace(SearchLastName.Text)
        lastName = SearchLastName.Text.Trim();

    Response.Redirect("~/Order.aspx?LastName=" + lastName + "&FirstName=" + firstName);
}

答案 2 :(得分:0)

我认为您可以简单地添加这样的条件:如果文本框为空,那么文本应该如您所述。 像:

If(abc.text!=string.empty || abc.text!=null)
{
param value=abc.text;
}
else
param value="%20";

注意:这是一个侧面选项,如果编码范例不是一个问题,您可以选择。