C# 乌尔都语串中的子串

C# 乌尔都语串中的子串,c#,asp.net,unicode,substring,C#,Asp.net,Unicode,Substring,如何在asp.net中对乌尔都语字符串应用子字符串?我尝试过英语中描述的子字符串方法,但它不起作用。给出错误 “/Ahp”应用程序中的服务器错误。重定向URI不能包含 换行符。描述:发生未处理的异常 在执行当前web请求期间。请检查 堆栈跟踪以获取有关错误及其位置的详细信息 源于代码 异常详细信息:System.ArgumentException:无法重定向URI 包含换行符 源错误: 第175行:private void showError(字符串msg)第176行:{Line 177:Res

如何在asp.net中对乌尔都语字符串应用子字符串?我尝试过英语中描述的子字符串方法,但它不起作用。给出错误

“/Ahp”应用程序中的服务器错误。重定向URI不能包含 换行符。描述:发生未处理的异常 在执行当前web请求期间。请检查 堆栈跟踪以获取有关错误及其位置的详细信息 源于代码

异常详细信息:System.ArgumentException:无法重定向URI 包含换行符

源错误:

第175行:private void showError(字符串msg)第176行:{Line 177:Response.Redirect(“Error.aspx?Error=“+msg”);第178行:
}第179行:

源文件:c:\WorkSpace\Ahp\Default.aspx.cs行:177

堆栈跟踪:

[ArgumentException:重定向URI不能包含换行符。]
System.Web.HttpResponse.Redirect(字符串url,布尔值endResponse, 布尔永久)+8892485 System.Web.HttpResponse.Redirect(字符串 url)+8_默认值。淋浴错误(字符串消息) c:\WorkSpace\Ahp\Default.aspx.cs:177\u Default.loadTopRatedNews()位于 c:\WorkSpace\Ahp\Default.aspx.cs:170\u Default.Page\u Load(对象 c:\WorkSpace\Ahp\Default.aspx.cs:34中的发件人、事件参数(e) System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,对象 o、 对象t,事件参数e)+14
System.Web.Util.CallEventHandlerDelegateProxy.Callback(对象发送方, EventArgs e)+35 System.Web.UI.Control.OnLoad(EventArgs e)+91
System.Web.UI.Control.LoadRecursive()+74
System.Web.UI.Page.ProcessRequestMain(布尔值 IncludeStages在区域同步点之前,布尔值
includeStagesAfterAsyncPoint)+2207

我正在将错误重定向到包含错误信息的错误页面

//--------------------- Its the code ------------------------------------
desc.Text = reader.GetValue(1).ToString().Substring(0,30);

//--------------- Main Error ---------------------------------------------------
Index and length must refer to a location within the string. Parameter name: length

//====================== Count checked of each ==================================
More then 540 character in each

该错误表示重定向URI的一部分被解释为具有新行字符,而不是子字符串问题。我猜想,在为重定向构建URI时,您会遇到某种类型的编码问题。为了让我们提供任何有意义的帮助,您需要发布导致错误的相关字符串和代码。从上面的框中:
Response.Redirect(“error.aspx?error=“+msg”)可能
msg
包含多行,即包含cariage返回加换行符?是否确定此重定向正常?desc.Text=reader.GetValue(1).ToString().Substring(0,30);这里是您需要的。而不是
Response.Redirect(“Error.aspx?Error=“+msg”)
您应该使用
Response.Redirect(“Error.aspx?Error=“+Server.UrlEncode(msg))或类似。看,我很愿意帮忙,但我对乌尔都语一无所知。如果你想把潜在的帮助限制在那些已经熟悉乌尔都语的人身上,那没关系——这是你的决定。你越容易让别人帮助你,你就越有可能得到帮助。