【问题标题】:Pass a value of textbox from view to controller through hyperlink in MVC ASP.NET通过 MVC ASP.NET 中的超链接将文本框的值从视图传递到控制器
【发布时间】:2015-01-27 22:23:14
【问题描述】:

在视图中-

<input type="text" hidden="hidden" id= "nameString" name="nameString" value="xyz" />
@Html.ActionLink("Save", "HomePage", "ControllerName", new { nameString = "/* Value from above input here.*/" })

在这种情况下,我想通过这个超链接传递“xyz”。

不能使用 Get 或 POST 方法来传递此值。

这个 HomePage 视图也不是当前的 ActionLink 视图,因此无法使用 Request.Form["nameString"]; 获取 Controller 中的值;

我尝试了如下的 JQuery,但它不起作用-

var nameVar = document.getElementById('nameString').value;
$.ajax({
                type: 'GET',
                url: "@Url.Action("HomePage", "ControllerName")",
                data: { nameString : nameVar }                   
            });

我检查了调试器,发现控制器实际上正在获取价值并处理它,但浏览器上什么也没有。我不确定 ajax 是如何工作的。

【问题讨论】:

  • 将视图中的值放入链接的唯一方法是使用 jquery 创建 url 并重定向。如果你想做一个 ajax 调用,听起来一切正常。您从控制器传递的内容以及您在 ajax 调用的成功部分中设置的内容不会进入浏览器
  • 我是 JQuery 新手,能否请您展示一些代码 sn-p 以使用 jquery 创建 url 并重定向到主页。谢谢。

标签: c# jquery asp.net-mvc asp.net-mvc-4 asp.net-ajax


【解决方案1】:

由于重定向将在 jquery 中发生,因此您不需要帮助器

<input type="button" class="btnRedirect" value="Click Here" />

然后在你的脚本中

$('.btnRedirect').on('click', function(){
    var url = '@Url.Action("HomePage", "ControllerName", new { textValue = "----" })'.replace("----", $('#nameString').val());
    window.location = url;
});

【讨论】:

    【解决方案2】:

    这就是使用 ajax 的方式,尽管这不会处理返回页面。

    var name = $("#nameString").value;
    $.get("/ControllerName/HomePage",{ nameString : nameVar })
               .done(function(){
                     window.location.assign("/ControllerName/HomePage");
                     });
    

    【讨论】:

    • 是的 Rajdeep,它没有处理返回页面。但我也不希望它处理它。我只是希望它重定向到主页,在那里我编写了处理数据的逻辑。您能否建议如何重定向到该主页。我希望它像简单的超链接一样运行。谢谢。
    • 通话中某处有一点问题。它的调用控制器 2 次。第一次调用,它在 nameString 中传递正确的值。但在第二次调用中,控制器正在接收空值。感谢您的帮助和代码 sn-p。我们得到了原始问题的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多