通过 MVC 中的超链接将文本框的值从视图传递到控制器 ASP.NET
Pass a value of textbox from view to controller through hyperlink in MVC ASP.NET
在视图中-
<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 方法传递此值。
此主页视图也不是当前的 ActionLink 视图,因此无法使用 Request.Form["nameString"];
获取 Controller 中的值
我试过 JQuery 喜欢以下但它不起作用-
var nameVar = document.getElementById('nameString').value;
$.ajax({
type: 'GET',
url: "@Url.Action("HomePage", "ControllerName")",
data: { nameString : nameVar }
});
我检查了调试器,发现 Controller 实际上正在获取值并对其进行处理,但浏览器上什么也没有。我不确定 ajax 是如何工作的。
这是 ajax 的处理方式,尽管这不会处理返回页面。
var name = $("#nameString").value;
$.get("/ControllerName/HomePage",{ nameString : nameVar })
.done(function(){
window.location.assign("/ControllerName/HomePage");
});
由于重定向将在 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;
});
在视图中-
<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 方法传递此值。
此主页视图也不是当前的 ActionLink 视图,因此无法使用 Request.Form["nameString"];
获取 Controller 中的值我试过 JQuery 喜欢以下但它不起作用-
var nameVar = document.getElementById('nameString').value;
$.ajax({
type: 'GET',
url: "@Url.Action("HomePage", "ControllerName")",
data: { nameString : nameVar }
});
我检查了调试器,发现 Controller 实际上正在获取值并对其进行处理,但浏览器上什么也没有。我不确定 ajax 是如何工作的。
这是 ajax 的处理方式,尽管这不会处理返回页面。
var name = $("#nameString").value;
$.get("/ControllerName/HomePage",{ nameString : nameVar })
.done(function(){
window.location.assign("/ControllerName/HomePage");
});
由于重定向将在 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;
});