您的位置:首页 > 产品设计 > UI/UE

C#通过反射让Request对象只读属性可写的方法

2016-09-23 14:06 756 查看
C#的 Request对象的QueryString在初始化后就不能被设置因为它是只读的,不过可以用反射的方式将其设置为可写。
前提是类有IsReadOnly属性定义,通过反射设置对象的只读为FALSE,写完之后再设回来。

private void UpdateQueryString(string queryString, string value)

{

PropertyInfo isreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);

isreadonly.SetValue(this.Request.QueryString, false, null);

this.Request.QueryString.Set(queryString, value);

isreadonly.SetValue(this.Request.QueryString, true, null);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: