来自querystring的不同变量名

时间:2013-06-17 19:00:54

标签: asp.net-mvc

我的控制器有一个对象作为参数

Function Search(ByVal model As ItemSearchModel) As ActionResult

看起来像这样

Public Class ItemSearchModel

    Public Property SearchQuery As String

而且,正如您可以想象的那样,网址看起来像

/Search?SearchQuery=test

我想将查询字符串更改为一个小变量,类似于

/Search?s=test

是否有内置方法可以在我的班级中保留相同的变量名称?像

这样的东西
Public Class ItemSearchModel

    <QueryString(Name:="s")> _
    Public Property SearchQuery As String

2 个答案:

答案 0 :(得分:4)

我认为您可以使用Nuget的ActionParameterAlias包来完成您想要的任务。

答案 1 :(得分:1)

您可以定义两个属性,两个属性都指向同一个字段。然后,您可以使用网址中的sSearchQuery来访问该项目。

Public Class ItemSearchModel
    Private _s As String

    Public Property s() As String
        Get
            Return _s
        End Get
        Set(value As String)
            _s = value
        End Set
    End Property
    Public Property SearchQuery() As String
        Get
            Return _s
        End Get
        Set(value As String)
            _s = value
        End Set
    End Property
End Class