【问题标题】:Post anchor tag value with the ancor as submit将锚标记值发布为提交
【发布时间】:2016-06-29 21:30:50
【问题描述】:

我在几周前试图解决这个问题,但仍然没有解决,基本上我有一个标签列表,比如 stackoverflow 标签来指定程序语言,当他点击时,我有这些标签与表单内的用户相关联在标签上,我想将值发送到控制器,这样我就可以使用该值来获取例如只有该标签的线程,我的问题是我的表单只有那个应该作为提交和作为值发送的 ancor到控制器,我已经尝试过使用隐藏字段,但它不起作用,因为我只有在用户点击后才有值,当他点击时它只是提交:S

这就是我所拥有的

 using (Html.BeginForm("listaDesafiosTag", "Desafios", FormMethod.Post))
            {
                foreach (var i in utilizador.tags)
                {
                    <ul class="tagMargin">
                        <li><a data-name="ancora" name="listaTags" class="tag" style="font-size:9px;color:@i.cor">@i.NomeTag</a></li>
                    </ul>
                }
            }

【问题讨论】:

  • 不需要表单....将标签ID放入数据属性并使用ajax发送
  • 你能给我一个工作的例子吗?我现在对 Ajax 真的很糟糕,想稍后学习,但需要把它付诸实践对不起:/
  • $('.tag').click(function(){ $.post(url, {id: $(this).data('tag-id')}, function(response){/* do something with response*/ }); })
  • 在我的情况下,该响应是什么我想发布到控制器,以便他执行查询等...我在控制器中返回了我执行查询的新模型并查看我为什么当我只想发送值时需要响应,控制器不为我剩下的?抱歉新手问题
  • 所以在href的url中传递id ...不需要javascipt那样

标签: javascript jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

您可以使用 Get 代替 POST

foreach (var i in utilizador.tags)
{
    <ul class="tagMargin">
        <li><a href="/controller/action/@i.NomeTag"  data-name="ancora" name="listaTags" class="tag" style="font-size:9px;color:@i.cor">@i.NomeTag</a></li>
    </ul>
 }

【讨论】:

    猜你喜欢
    • 2013-06-10
    • 2011-01-12
    • 2018-04-24
    • 2019-10-12
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2018-12-03
    相关资源
    最近更新 更多