asp.net-mvc – ASP.NET MVC – 从查询字符串中获取对象列表
发布时间:2020-05-23 22:54:11 所属栏目:asp.Net 来源:互联网
导读:我传递了参数列表.如“名称”,“Id”,“类型”. url中会有很多这样的内容,如下所示: Name=blah1,Id=231,Type=blah1;Name=blah2,Id=2221,Type=blah1;Name=blah3,Id=45411,Type=blah3; 我想知道是否有办法将这些查询参数映射到对象列表.所以,我可以创建一个对
|
我传递了参数列表.如“名称”,“Id”,“类型”. url中会有很多这样的内容,如下所示: "Name=blah1,Id=231,Type=blah1;Name=blah2,Id=2221,Type=blah1;Name=blah3,Id=45411,Type=blah3;" 我想知道是否有办法将这些查询参数映射到对象列表.所以,我可以创建一个对象: MyTestObject {Name; Id; Type},可以在我的控制器中说出来 Index(IList<MyTestObject> params) params将填入查询字符串中的数据. 与http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx类似的东西 解决方法是的ASP.NET MVC可以自动将集合绑定到操作参数,但是您需要将params作为from值传递,而且它看起来像是在查询字符串中传递的许多参数.看看这一个 http://weblogs.asp.net/nmarun/archive/2010/03/13/asp-net-mvc-2-model-binding-for-a-collection.aspx基本上你需要做的是: 1)创建包含你的参数的calss public class MyParam
{
publc int Id {get; set;}
public string Name {get; set;}
//do all the rest
}
2)创建您将传递给视图的模型 public class MyViewModel
{
IList<MyParam> MyParams {get; set;}
}
3)在[HttpGet]操作中创建您的集合并将其传递给您的视图: [HttpGet]
public virtual ActionResult Index()
{
MyViewModel model = new MyViewModel();
model.MyParams = CreateMyParamsCollection();
return View(model);
}
4)在视图中迭代您的集合 @model MyViewModel
@{int index = 0;}
@foreach (MyParam detail in Model.MyParams)
{
@Html.TextBox("MyParams[" + index.ToString() + "].Id",detail.Id)
@Html.TextBox("MyParams[" + index.ToString() + "].Name",detail.Name)
index++;
}
5)在您的[HttpPost]行动中,您可以在收集中捕获您的参数 [HttpPost] public virtual ActionResult Index(MyViewModel model) or [HttpPost] public virtual ActionResult Index(IList<MyParam> model) P.S 此外,如果你想在控制器中获得所有的形式参数,你可以这么简单: [HttpPost] public virtual ActionResult Index(FormCollection form) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Webforms与MVC.一旦你开始使用MVC ..你有没有回
- asp.net-mvc – ASP.NET MVC视图模型命名约定
- asp.net-core – 你如何解决AspNet Core缺少的依赖关系?
- asp.net – 自定义部分的Web配置转换
- asp.net-core – VSTS – 构建ASP.NET Core 2.0应用程序失败
- asp.net-mvc-3 – @ Html.DropDownList width
- 使用ASP.NET SDK将文件上载到S3存储桶的文件夹
- ASP.NET Forms身份验证超时
- asp.net-mvc – ASP.NET MVC帐户控制器使用指南?
- asp.net-mvc – 页面的ValidateRequest设置可以被覆盖吗?
推荐文章
站长推荐
- asp.net-mvc-3 – RedirectResult Object作为URL
- asp.net-mvc – 如何防止HttpUnauthorizedResult
- 在asp.net mvc中的RedirectToAction用法
- asp.net-core – 如何在.NET Core中构建和运行时
- asp.net-core – 在ASP.NET Core中将html导出为p
- asp.net-mvc – 导出Excel文件以查看(MVC)
- asp.net – 嵌套的web.config转换
- asp.net-mvc-3 – MVC3视图继承不可能?
- asp.net – 滚动的Log4Net日志文件中的自定义文件
- asp.net – Web Forms错误消息:“这不是scriptl
热点阅读
