asp.net web api - 模型绑定列表参数

2023-12-19

在我的控制器中我有:

[AcceptVerbs("GET", "POST")]
    public List<BuzzMonitor.Web.Message> Search(string text, DateTime dateFrom, DateTime dateTo, List<int> themeIds, List<int> sourceIds) 
    {...}

我想做模型绑定。对于原始类型来说很容易,但是当我有一个原始类型列表时该怎么办?

我在 Global.asax 中这样做了:

 GlobalConfiguration.Configuration.Routes.MapHttpRoute("SearchWithParameters", "api/{controller}/{action}/{text}/{dateFrom}/{dateTo}/?/?"

但我不知道要为列表设置什么...

我在某些网站上发现我可以在列表之前添加 [ModelBinder],但是当我这样做时,我只会在该单词上添加红色下划线。

有人知道该怎么做吗?


从您的描述看来您已经找到了这篇文章或类似的文章

http://lostechies.com/keithdahlby/2012/10/04/asp-net-web-api-list-parameter-binding/ http://lostechies.com/keithdahlby/2012/10/04/asp-net-web-api-list-parameter-binding/

建议您使用 ModelBinder 属性。如果你能让它发挥作用,我仍然推荐这种方式。您描述的红色下划线听起来您可能没有适当的参考文献。请确保您的类中有适当的引用来访问该属性,在本例中它看起来像System.Web.Http.ModelBinding

http://msdn.microsoft.com/en-us/library/system.web.http.modelbinding.modelbinderattribute(v=vs.118).aspx http://msdn.microsoft.com/en-us/library/system.web.http.modelbinding.modelbinderattribute%28v=vs.118%29.aspx

如果失败,您可能无法使用模型绑定。从第一篇文章开始

Web API only uses model binding for “simple types”

您还可以考虑使用 JSON Formatter 或类似工具,这并不困难,并且可以轻松支持列表结构以及格式良好的 JSON。

这是一篇很棒的介绍性文章,介绍了如何使用它

http://www.hanselman.com/blog/OneASPNETMakingJSONWebAPIsWithASPNETMVC4BetaAndASPNETWebAPI.aspx http://www.hanselman.com/blog/OneASPNETMakingJSONWebAPIsWithASPNETMVC4BetaAndASPNETWebAPI.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp.net web api - 模型绑定列表参数 的相关文章

  • 地图类容器的专用功能

    我想要专门为矢量和地图之类的容器设计一个函数模板 对于向量 我可以像下面那样做 但我不知道如何才能有一个专门版本的函数 该函数仅用于像地图这样的容器 include
  • 处理器关联组 C#

    我使用的是 72 核的 Windows Server 2016 我看到有两组处理器 我的 net 应用程序将使用一个或其他组 我需要能够强制我的应用程序使用我选择的组 我看到下面的代码示例 但我无法使其工作 我可能传递了错误的变量 我希望应
  • 如何在单例类和未命名类之间进行选择?

    我会使用这样的单例 Singleton single Singleton instance single gt do it 我会使用这样的未命名类 single do it 我觉得单例模式除了具有可读的错误消息之外 与未命名的类相比没有任何
  • 在编译输出中添加程序集绑定 (app.config)

    如果我编译应用程序 则会在输出中自动添加程序集绑定 具体的程序集绑定不在app config在 Visual Studio 中但在创建的应用程序配置中 有什么办法可以检查为什么会自动添加程序集绑定吗 选项AutoGenerateBindin
  • C++:避免​​在重载中将字符串自动转换为布尔值

    我想创建一组方法 这些方法将根据其类型输出具有特殊格式的值 当我这样做时 到目前为止看起来还不错 static void printValue std ostringstream out int value out lt lt value
  • Web api 将整数数组传递给操作方法

    我有这个网络 API 方法 HttpGet Route WorkPlanList clientsId date datetime public async Task
  • .Net 支持柯里化泛型吗?

    假设我们有一个嵌套的泛型类 public class A
  • 如何在 C++11 中返回类成员向量

    我读了几篇关于如何从方法返回向量的文章 其中包括 c11 右值和移动语义混淆返回语句 https stackoverflow com questions 4986673 c11 rvalues and move semantics conf
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • 绑定集合的子集

    我有一个ObservableCollection
  • C 编程中的 rand() 问题? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我总是用 rand 得到相同的随机数序列 https stackoverflow com questions 1108780 why do i always get the same seque
  • 对列表中的一系列整数求和

    假设我有一个这样的列表 List
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本
  • 在 OSX 上检测 Objective C 或 C++ 中的文件夹访问(如 fs_usage 命令)

    我正在 OSX 上开发实时病毒扫描程序 OSX 的命令行命令fs usage可以通过以下方式确定文件夹访问权限 并且只能以 root 用户身份运行 fs usage w f pathname grep Users Documents Use
  • C 中的 2 个字符要短

    我有2个字符 Char 128和查尔2 如何将这些字符转为 Short640 in C 我试过了 unsigned short getShort unsigned char array int offset short returnVal
  • 在 C 中运行 setuid 程序的正确方法

    我有一个权限为4750的进程 我的Linux系统中存在两个用户 root 用户和 appz 用户 该进程继承以 appz 用户身份运行的进程管理器的权限 我有两个基本惯例 void do root void int status statu
  • C# 中的 mshtml.HTMLDocumentClass

    在 C 中 我设法从 InternetExplorer 对象获取整个 HTMLDocumentClass 导航到某个 URL 然而 在 Visual Studio 2008 的调试模式下 该特定 URL 的 HTMLDocumentClas
  • C 中的等效 plpgsql 触发器

    我有一个 PostgreSQL 9 0 服务器 并且在某些表上使用继承 因此我必须通过如下触发器模拟外键 CREATE OR REPLACE FUNCTION othertable before update trigger RETURNS
  • 在for循环中声明和初始化变量

    可以简单写一下吗 for int i 0 代替 int i for i 0 在 C 或 C 中 并且会变量i只能在循环内部访问 它在 C 中有效 它在 C 的原始版本中是不合法的 但在 C99 中被采用为 C 的一部分 当时一些 C 功能被
  • 在派生类中访问基类变量

    class Program static void Main string args baseClass obj new baseClass obj intF 5 obj intS 4 child obj1 new child Consol

随机推荐

  • 如何更改 iOS7 中 UISearchBar 的取消按钮色调颜色

    我想将 Textfield 的色调颜色更改为蓝色 并将 UISearchBar 的取消按钮色调颜色更改为白色 我正在使用下面的代码 for UIView subView in searchBar subviews for UIView nd
  • Python 列表与数组——何时使用?

    如果要创建一维数组 可以将其实现为列表 或者使用标准库中的 array 模块 我一直对一维数组使用列表 我想改用数组模块的原因或情况是什么 是为了性能和内存优化 还是我错过了一些明显的东西 基本上 Python 列表非常灵活 可以保存完全异
  • Python 日志记录不会关闭

    我一直在学习 python 日志记录模块 但在完成后关闭日志记录时遇到问题 这是一个例子 import logging log logging getLogger log setLevel logging INFO handler logg
  • emacs 更改默认行结尾

    在 Windows 中 Emacs 使用 cr lf 进行换行 但我喜欢所有文件都使用 Unix 行结尾 lf 我找到了一种在会话期间更改它的方法 但我不是 Emacs 专家 无法将解决方案转换为 emacs 文件中的 elisp 命令 有
  • 如何在Google Sheet App脚本中使用JS库?

    我想在 Google Sheet 中编写一个自定义函数来生成条形码 如何导入外部 js 库 例如https lindell me JsBarcode https lindell me JsBarcode 这就是我到目前为止所做的 funct
  • PHP cli 脚本不输出任何内容

    所以我有一个 php 脚本 我使用以下命令执行 php f my script php myArguments 该脚本使用 svn 进行版本控制 我刚刚更新了它 将运行它的命令粘贴到终端中 然后执行它 但是 没有任何输出 不是失败消息 不是
  • 如何在也具有导航的 Tabbar 应用程序中调用 viewWillDisappear 方法

    我在我的应用程序中创建了 5 个选项卡 在Tab1 i have UITableView On didSelectRowAtIndexPath我正在导航到另一个 UIView 其中显示了我的所有 5 个选项卡 我还在那个导航视图中播放歌曲
  • Delphi XE5可以编译一个可以用“System.loadLibrary”在Java中加载的.so库吗?

    我之前已经使用 Free Pascal FPC 编译器成功编译了一个用 Pascal 编写的 so 库 该库通过 System loadLibrary 在 Android Java 中成功加载 并且可以通过 Android Java 代码中
  • 从rc6升级到Rails 3.1.0,资产预编译失败

    从 Rails 3 1 0 rc6 升级到 Rails 3 1 0 后 运行时收到一些错误消息assets precompile像这样的任务 RAILS ENV production RAILS GROUPS assets rake ass
  • 如何在 PHP 中创建持久会话?

    I used session start 在 PHP 中启动会话 但是当我的浏览器关闭时 会话就消失了 如何使用 PHP 创建跨浏览器关闭的持续会话 See the php ini value session cookie lifetime
  • 如何设计具有修订历史的数据库?

    我是构建新的团队的一员内容管理系统对于我们的公共网站 我正在尝试找到最简单和最好的方法来构建版本控制机制 对象模型非常基本 我们有一个摘要BaseArticle包含版本无关 元数据属性的类 例如Heading CreatedBy 许多类都继
  • 无法启动事件网关实例:事件网关服务未启用

    我最近将服务器从 ColdFusion 7 Enterprise 迁移到 ColdFusion 10 Standard 现在我们的事件网关无法正常工作 当我尝试启动它们时 它说 无法启动事件网关实例 事件网关服务未启动 已启用 我确实在 网
  • 允许在 IIS7 中下载 MDB

    目前 如果我托管 Access MDB 文件以允许用户下载 IIS7 会抛出 404 错误 我知道该文件在那里并且权限很好 这似乎是处理程序问题 但我不知道如何更改处理程序以允许下载 MDB 文件 我认为我需要向 web config 的
  • 如何访问拖动的文本(或者:将文本拖动到输入中如何“工作”?)

    从我到目前为止所看到的来看 我们可以使用onPaste验证 阻止内容的事件pasted进入一个
  • Internet Explorer和Google Chrome Frame可以支持webRTC吗?

    我尝试并测试了各种方法来使 webRTC 在 Internet Explorer 上工作 使用谷歌浏览器插件 网络RTC4all Sipml5 不响应这两种方法 我还阅读了 可定制的 无处不在的网络实时通信 CU RTC Web 实时媒体和
  • 在 golang 中初始化包含结构体切片的结构体

    我有一个结构体 我想用 golang 中的结构体切片来初始化 但我试图弄清楚是否有一个更有效的版本将每个新生成的结构附加到该切片 package main import fmt math rand type LuckyNumber stru
  • C++ 使用 ccfits 读取适合文件

    那么 有人能看到我在这里做错了什么吗 我正在尝试阅读 fits在 C 中使用文件CCfits按照他们的例子http heasarc gsfc nasa gov fitsio CCfits html readimage html http h
  • Firebase 函数意外重定向到accounts.google.com [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有一个简单的 Firebase 函数 如下所示 当通过 javascript CORS 访问时 该函数的飞行前选项的请求 COR
  • 如何在 Google App Engine 中解析 JSON?

    我想将 JSON 字符串解析为 Google App Engine python 下的对象 你有什么建议吗 编码 字符串化的东西也很好 您推荐的内容是内置的 还是我必须包含在我的应用程序中的库 安全吗 谢谢 考虑使用Django 的 jso
  • asp.net web api - 模型绑定列表参数

    在我的控制器中我有 AcceptVerbs GET POST public List