首页 > 解决方案 > 用零填充字符串并将其传递到asp.net webforms中的另一个页面

问题描述

我正在尝试用零填充文本框值,并将其传递到带有 Response.Redirect 在 asp.net webforms 中的另一个页面。我无法用零填充数字。如果我在文本框中输入 2,它应该在第二页上显示 000002。这是我的代码:

if (cmbSearchBy.Text == "Account Number")
{
    var zeropadding = String.Format("{0:00000}", txtSearchKeyword.Text);
    Response.Redirect("AccountTable.aspx?SearchBy=" + cmbSearchBy.SelectedValue + "&TableSelection=" + cmbSelectTable.SelectedValue + "&SearchTerm=" + zeropadding + "");
}
else
{
    Response.Redirect("AccountTable.aspx?SearchBy=" + cmbSearchBy.SelectedValue + "&TableSelection=" + cmbSelectTable.SelectedValue + "&SearchTerm=" + txtSearchKeyword.Text + "");
}

标签: c#asp.netformatting

解决方案


由于这些值都是字符串,因此您不需要String.Format()像使用数值那样使用。您可以改用.PadLeft()方法。像这样的东西:

var zeropadding = txtSearchKeyword.Text.PadLeft(6, '0');

'0'这会将左侧的值填充到总宽度为 6。(或者如果字符串已经是 6 个或更多字符,则直接返回该字符串。)


推荐阅读