首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MVC ASP.NET中通过超链接将文本框的值从视图传递给控制器

在MVC ASP.NET中通过超链接将文本框的值从视图传递给控制器
EN

Stack Overflow用户
提问于 2015-01-27 22:23:14
回答 2查看 2.4K关注 0票数 0

在视野中-

代码语言:javascript
复制
<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,就像跟随,但它不起作用-

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

我签入调试器,发现Controller实际上正在获取值并对其进行处理,但浏览器上什么也没有。我不知道ajax是如何工作的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-27 22:47:00

由于重定向将在jquery中发生,所以不需要帮助

代码语言:javascript
复制
<input type="button" class="btnRedirect" value="Click Here" />

然后在你的剧本里

代码语言:javascript
复制
$('.btnRedirect').on('click', function(){
    var url = '@Url.Action("HomePage", "ControllerName", new { textValue = "----" })'.replace("----", $('#nameString').val());
    window.location = url;
});
票数 1
EN

Stack Overflow用户

发布于 2015-01-27 22:30:07

ajax就是这样完成的,尽管这不能处理返回页面的问题。

代码语言:javascript
复制
var name = $("#nameString").value;
$.get("/ControllerName/HomePage",{ nameString : nameVar })
           .done(function(){
                 window.location.assign("/ControllerName/HomePage");
                 });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28181171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档