【问题标题】:retain query string between actions在操作之间保留查询字符串
【发布时间】:2011-01-05 17:26:03
【问题描述】:

我的控制器有三个动作: 引言、索引和类别。 在我的母版页中,我有一个文本框和一个搜索按钮。 一般的想法是用户到达简介视图,然后在文本框中键入文本并单击搜索按钮。 然后,他会看到索引视图,而查询字符串包含一个值,用户看到的数据将根据该值进行过滤。用户可以选择一个类别,然后将他重定向到类别视图。 当我在操作 Introduction、Index 和 category 之间移动时,如何维护查询字符串字段和值(比如说“?cities=1,2,3”)? 我只是指出,如果用户在文本框中输入新文本,查询字符串值将会改变。

【问题讨论】:

    标签: asp.net asp.net-mvc-2 query-string


    【解决方案1】:

    一种方法是将初始 qs 值保留在隐藏的表单字段中。只要用户使用表单提交从一个动作导航到另一个动作,这将起作用。另一种不需要提交表单的方法是持久化到 cookie。

    【讨论】:

    • 如何将隐藏字段附加到表单中。我知道它可以通过 html 助手来实现,但是如何使用呈现隐藏字段的助手?我在哪里称呼它?
    • 在您的控制器操作中,您可以将值放入模型中,然后在您的视图中,添加隐藏字段 html 助手,将模型中的值插入到值参数中。
    【解决方案2】:

    假设您的意思是用户单击链接(而不是服务器端重定向),您最好的选择是将查询字符串值转换为隐藏字段。

    See this thread.

    【讨论】:

    • 谢谢,但是除了 html 帮助器之外,您能否发布一些示例代码如何使用实际的隐藏字段?这对我有很大帮助...
    猜你喜欢
    • 1970-01-01
    • 2017-06-20
    • 2014-11-12
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多