0

我有一个Response.Redirect带有两个查询字符串参数的按钮单击,它们保存来自两个文本框的值。如果我将文本框留空,我会得到这个 URL /Order.aspx?LastName=&FirstName=:。我想像这样用“%20”替换 NULL 值/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());
}
4

3 回答 3

2

使用string.IsNullOrEmpty检查字符串,如果为真,则设置您选择的内容,例如" "or 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());
}
于 2013-08-14T13:13:39.207 回答
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);
}
于 2013-08-14T13:13:56.057 回答
0

我认为你可以简单地添加这个条件,如果文本框为空,那么文本应该是你提到的。喜欢:

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

注意:这是一个附带选项,如果此处不关心编码范例,您可以选择。

于 2013-08-14T13:13:07.650 回答