首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有对象参数的MVC操作的URL (使用web API)

带有对象参数的MVC操作的URL (使用web API)
EN

Stack Overflow用户
提问于 2012-06-09 02:39:33
回答 2查看 2.2K关注 0票数 0

this question中,答案建议使用对象作为参数。我将使用什么URL来访问它?在OP的第一个示例中,我最初的方法是重载操作(不确定重载是否是正确的词),所以我有:

代码语言:javascript
复制
public IEnumerable<NTOrder> Get()...

public IEnumerable<NTOrder> Get(int p)...

public IEnumerable<NTOrder> Get(int p, int q)

我知道这并不优雅,但是如果我把它改成一个对象,我不知道如何格式化URL……

旧代码

代码语言:javascript
复制
public IEnumerable<NTOrder> Get() {
    //build NTOrderList
    return NTOrderList;
}

新代码

代码语言:javascript
复制
public class FilterView
{
    public int? fID { get; set; }
    public int? fCustomer { get; set; }
    public string fSalesPerson{ get; set; }
}

public IEnumerable<NTOrder> Get(FilterView queryFilter) {
    //build NTOrderList
    List<NTOrder> result = (from order in NTOrderList
                               where (order.OrderID == queryFilter.fID || queryFilter.fID == null)
                                  && (order.CustomerID == queryFilter.fCustomer || queryFilter.fCustomer == null)
                                  && (queryFilter.fSalesPerson == null || order.Salesperson.Equals(queryFilter.fSalesPerson))
                                select order).ToList();

    return result;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-11 22:32:15

我发现this answer是一种可能的解决方案,它基本上建议将数据作为JSON传递到url中,并添加一个过滤器将其转换为复杂的对象,但正如那篇文章中的操作所暗示的那样,它不是最优雅的way...anybody有更优雅的解决方案吗?

票数 1
EN

Stack Overflow用户

发布于 2012-06-09 02:41:21

URL的工作方式完全相同,对象中的每个属性都有一个querystring参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10954345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档