-1
我想在我的web api .Net核心請求中替換所有۱
字符與1
?
如:
Number ۱
應該轉換爲Number 1
在MVC 5我以前HttpModule
,在.NET的核心我用中間件如下:在.NET核心請求,C#中的表單字段中替換一些字符?
namespace VistaBest.Api
{
public class PersianCharsMiddleware
{
private readonly RequestDelegate _next;
public PersianCharsMiddleware(RequestDelegate next)
{
_next = next;
}
public Task Invoke(HttpContext httpContext)
{
var collection = httpContext.Request.Form;
foreach (var controlKey in collection.Keys.Where(controlKey => !controlKey.StartsWith("__")))
{
collection[controlKey] = collection[controlKey].ToString().Replace("۱", "1");
}
return _next(httpContext);
}
}
public static class PersianCharsMiddlewareExtensions
{
public static IApplicationBuilder UsePersianCharsMiddleware(this IApplicationBuilder builder)
{
return builder.UseMiddleware<PersianCharsMiddleware>();
}
}
}
但collection[controlKey]
是隻讀的,我不能賦值給它?
實際上,我必須編輯窗體的所有字符串字段,我應該怎麼做?
我可以使用自定義模型綁定器嗎?
@mjwills我不得不標準所有數字字符字符串字段並將其轉換爲英語 –
的可能的複製[如何修改asp.net核心中的HttpContext.Request.Form](https://stackoverflow.com/questions/42701311/how-to-modify-httpcontext-request-form-in-asp-net-core) – mjwills
I可以用自定義模型活頁夾寫入,請參閱答案 –