【问题标题】:How to send Textbox value to ActionLink in asp.net mvc如何在asp.net mvc中将文本框值发送到ActionLink
【发布时间】:2013-05-09 10:27:08
【问题描述】:

这是我的场景

@Html.Textbox("value")

如何将上面的文本框值传递到下面的操作链接

@Html.ActionLink("Search","Search",new {firstname=value)

【问题讨论】:

  • 你想在哪里做这个?客户端?发布到服务器后?你有没有试过没有用的东西?
  • 在控制器,服务器端

标签: jquery asp.net-mvc razor


【解决方案1】:

您可以使用 javascript 来实现。 首先生成带有伪造值的 href 的锚标记:

<a href="@Url.Action("Search", "Controller", new {firstname="xxxx"}") id="lnk">Search</a>

另外,生成带有 ID(即 txtSearch)的。

然后,您可以使用 javascript 附加 this 的点击事件。使用 jQuery 代码将类似于:

$("#lnk").click(function(evt) {
    var fakedUri = $("#lnk").prop("href");
    var uri = fakedUri.replace("xxxx", $("#txtSearch").val());
});

您好!

【讨论】:

  • 嗨,我正在尝试使用您的代码,但我在控制器中获取 XXXX,而不是文本框的值。有什么我想念的吗?
  • 好的,我得到了解决方案。我只需要再次添加 uri 作为 lnk 的 href 属性。 $("#lnk").prop("href", uri);成功了。
  • @Jain 你刚刚让我从几个小时想知道为什么它不起作用。此外,.prop() 在我的 jquery 版本中不可用,我不得不为遇到此问题的其他人使用 .attr()。谢谢
  • @eiximenis 我有 5 个参数,那么如何传递呢??
  • 使用相同的模式:... var uri = fakedUri.replace("xxx", valueOfParam1).replace("yyy", valueOfParam2)
【解决方案2】:

你需要使用表格

<form method="post" action="@Url.Action("Search", "Search")">
     @Html.Textbox("value")
</form>

【讨论】:

  • 是否可以不使用表单,因为我们计划在索引页面上实现搜索功能...
  • 是的,您可以使用 Javascript 对 url 执行 POST。 jQuery AJAX 对此很有用 - api.jquery.com/jQuery.ajax
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 2013-12-12
  • 1970-01-01
  • 2014-02-11
相关资源
最近更新 更多