【问题标题】:Pass two variables in anchor link在锚链接中传递两个变量
【发布时间】:2012-12-05 21:05:06
【问题描述】:

具有以下锚标记,我想传递一个变量以在重定向表单中使用。如您所见,我在这里有目标网址和链接名称。我正在使用 Request["changeId"] 在表单中获取它。

<td class="id"><a href='/workplace/managechange?ChangeId=<%#DataBinder.Eval(Container.DataItem, "aux_RelatedChangeID.Id")%>'><%# DataBinder.Eval(Container.DataItem, "aux_customChangeId")%></a></td>
  1. 我可以将另一个变量传递给表单,,然后通过 Request 获取它吗?
  2. 此变量是否在 url 中可见?

谢谢!

【问题讨论】:

    标签: asp.net anchor href


    【解决方案1】:

    IT 将无法使用获取请求/链接隐藏参数,如果您使用表单发布,那么它将对用户“隐藏”。

    这需要...

    <form action="/workplace/managechange" method="post">
    <input type="hidden" name="ChangeId"  value="<%#DataBinder.Eval(Container.DataItem, "aux_RelatedChangeID.Id")%>" /> 
    
    <input type="hidden" name="approvalID" value="<%# DataBinder.Eval(Container.DataItem, "aux_approvalId")%>" />
    <input type="submit" value="Submit Values" />
    </form> 
    

    或者可能通过 AJAX 执行此操作。

    这两个变量都需要传递吗,调用managechange页面/动作时不能派生吗?

    还有为什么你需要从查询字符串中隐藏这个项目?

    它已经是公开的,并且从查询字符串来看,它不是 seo'd,所以看起来也不是一个原因。

    问候

    史蒂夫

    【讨论】:

    • 感谢史蒂夫,现在我更清楚地看到了我的选择。我试图传递两个变量以避免在目的地进行查询。我不想在 url 中显示所有内容,因为这有时会看起来非常大。我将尝试使用表单发布。谢谢!
    【解决方案2】:

    我找到了第一个问题的解决方案:

    <td class="id"><a href='/workplace/managechange?ChangeId=<%#DataBinder.Eval(Container.DataItem, "aux_RelatedChangeID.Id")%>&approvalID=<%# DataBinder.Eval(Container.DataItem, "aux_approvalId")%>'><%# DataBinder.Eval(Container.DataItem, "aux_customChangeId")%></a></td>
    

    而且我认为不可能将其隐藏在 url 中,对吧?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2021-02-09
    • 2015-03-26
    相关资源
    最近更新 更多