加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC4 Web Api中的[Bind(Prefix =“principalId”

发布时间:2020-12-15 19:31:52 所属栏目:asp.Net 来源:网络整理
导读:背景: 在MVC3中,我使用以下语法来指定自定义Action参数名称: public ActionResult ActionName([Bind(Prefix = "principalID")] int userID,[Bind(Prefix = "dependentID")] long applicationID) 此操作的路由定义如下(ActionNameConstraint是自定义IRouteC
背景:

在MVC3中,我使用以下语法来指定自定义Action参数名称:

public ActionResult ActionName([Bind(Prefix = "principalID")] int userID,[Bind(Prefix = "dependentID")] long applicationID)

此操作的路由定义如下(ActionNameConstraint是自定义IRouteConstraint):

routes.MapHttpRoute(
    "DependantAction","{controller}/{principalID}/{action}/{dependentID}",new {controller = @"[^0-9]+",action = ActionNameConstraint.Instance,dependentID = RouteParameter.Optional}
    );

题:

BindAttribute是一个System.Web.Mvc类.在Web Api中是否有这样的(参数绑定)?

当然,如果还有其他解决方案取得同样的效果,我很乐意听到他们的声音!

解决方法

您可以使用System.Web.Http.FromUriAttribute属性来指定用于模型绑定的参数名称.
public ActionResult ActionName(
                    [FromUri(Name = "principalID.userID")] int userID,[FromUri(Name= "dependentID.applicationID")] long applicationID
                    )

FromUri告诉模型绑定来检查请求的查询字符串和RouteData.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读