MVCHelper 请求检验
2024-08-24 12:34:30
public class MVCHelper
{
//有 两 个ModelStateDictionary类,别弄混乱了要使用 System.Web.Mvc 下的
//如果添加引用中找不到System.Web.MVC,那么可以用nuget安装:
//Install-Package Microsoft.AspNet.Mvc
public static string GetValidMsg(System.Web.Mvc.ModelStateDictionary modelState)
{
StringBuilder sb = new StringBuilder();
foreach (var key in modelState.Keys)
{
if (modelState[key].Errors.Count <= )
continue; sb.AppendFormat(" 属性【{0}】错误:", key);
foreach (var modelError in modelState[key].Errors)
{
sb.AppendLine(modelError.ErrorMessage);
}
}
return sb.ToString();
} public static string RemoveQueryString(NameValueCollection nvc, string name)
{
NameValueCollection newNvc = new NameValueCollection(nvc);
newNvc.Remove(name);
return ToQueryString(newNvc);
} public static string UpdateQueryString(NameValueCollection nvc, string name, string value)
{
NameValueCollection newNvc = new NameValueCollection(nvc);
if (newNvc.AllKeys.Contains(name))
newNvc[name] = value;
else
newNvc.Add(name, value); return ToQueryString(newNvc);
} private static string ToQueryString(NameValueCollection newNvc)
{
StringBuilder sb = new StringBuilder();
foreach (var key in newNvc.AllKeys)
{
string value = newNvc[key];
//EscapeDataString就是对特殊字符进行uri编码
sb.AppendFormat("{0}={1}&", key, Uri.EscapeDataString(value));
}
return sb.ToString().Trim('&');//去掉最后一个多余的&
} //生成XXX的静态html页面的 方法
public static string RenderViewToString(ControllerContext context, string viewPath, object model = null)
{
ViewEngineResult viewEngineResult = ViewEngines.Engines.FindView(context, viewPath, null);
if (viewEngineResult == null)
throw new FileNotFoundException("View" + viewPath + "cannot be found."); var view = viewEngineResult.View;
context.Controller.ViewData.Model = model;
using (var sw = new StringWriter())
{
var ctx = new ViewContext(context, view, context.Controller.ViewData, context.Controller.TempData, sw);
view.Render(ctx, sw);
return sw.ToString();
}
}
}
最新文章
- Javaweb项目框架搭建-准备篇
- Maven_profile_使用profile配置不同环境的properties(实践)
- nginx+tomcat+dubbo单机部署多台dubbo应用
- [deviceone开发]-do_GridView的简单示例
- iOS Architecture Patterns
- SDUST作业10 Problem J: 提取缩略词
- ThinkPHP之中getlist方法实现数据搜索功能
- Android HTTPS(1)概念和简单示例
- HDU 2544 最短路【Bellman_Ford 】
- leetcode&mdash;jump game
- 2124: 等差子序列 - BZOJ
- 1015: [JSOI2008]星球大战starwar - BZOJ
- cookie防篡改
- 一步一步Asp.Net MVC系列_权限管理总结(附MVC权限管理系统源码)
- react-dom.js 源码
- Angular(02)-- Angular-CLI命令
- 事件绑定on与hover事件
- 另存了一次网页之后其它word打开格式都变了
- Ext Js 6+ 动态切换皮肤
- 解析 Android Things 技术原理
热门文章
- Wireshark 抓包遇到 you don’t have permission to capture on that device mac 错误的解决方案
- swift手记-6
- whl 安装
- Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0
- 杂项:LDAP
- Request returned failure status 401
- 利用Spinnaker创建持续交付流水线
- [App Store Connect帮助]二、 添加、编辑和删除用户(3)添加和编辑用户
- [Swift通天遁地]九、拔剑吧-(15)搭建具有滑出、视差、3D变形等切换效果的引导页
- OI——不后悔的两年