Я хочу добавить несколько пар значений строки запроса в url, форматируя регулярную строку, а затем добавляя ее к текущей строке запроса. Потому что, насколько мне известно, нет способа изменить фактическую Request.QueryString. Поэтому я пытаюсь добавить kvp: s в строку запроса, как показано ниже. Я искал StackOverflow, но не смог найти ответ, который соответствует моей проблеме.Добавить пары значений ключа в строку запроса
protected void ServiceSelectionChanged(object sender, EventArgs e)
{
var regNr = registrationNumber.Text;
var selectedServiceType = SelectedServiceType.ToString("D");
string url = string.Empty;
BookingHelpers.FormatQueryStringUrl(this.Request, "serviceType", selectedServiceType, ref url);
BookingHelpers.FormatQueryStringUrl(this.Request, "regNr", regNr, ref url);
Server.Transfer(url, false);
}
public static void FormatQueryStringUrl(HttpRequest request, string key, string value, ref string url)
{
if (string.IsNullOrEmpty(url))
{
url = request.Url.PathAndQuery;
}
if (url.Contains("?"))
{
if (url.Contains("&" + key))
{
string currentValue = request.QueryString[key];
url = url.Replace("&" + key + "=" + currentValue, "&" + key + "=" + value);
}
else
{
url = String.Format(request.Url.PathAndQuery + "&" + key + "={0}", value);
}
}
else url = String.Format(request.Url.PathAndQuery + "?" + key + "={0}", value);
}
Это однако использует Request.QueryString каждый раз, поэтому первый kvp перезаписывается. Поэтому мой вопрос: как мне сделать эту работу, чтобы я мог добавить обе пары значений ключа в строку запроса?
почему вы не можете построить объект и сериализации и отправить его в JSON строку, если она меньше символов .. – Saravanan
я понятия не имею, что вы имеете в виду , Прости. – David