在视图中 -
<input type="text" hidden="hidden" id= "nameString" name="nameString" value="xyz" />
@Html.ActionLink("Save", "HomePage", "ControllerName", new { nameString = "/* Value from above input here.*/" })
在这种情况下,我想通过&#34; xyz&#34;通过这个超链接。
无法使用Get或POST方法传递此值。
此HomePage视图也不是当前的ActionLink视图,因此无法使用Request.Form获取Controller中的值[&#34; nameString&#34;];
我尝试过JQuery,但它不起作用 -
var nameVar = document.getElementById('nameString').value;
$.ajax({
type: 'GET',
url: "@Url.Action("HomePage", "ControllerName")",
data: { nameString : nameVar }
});
我在调试器中检查过,看到Controller实际上正在获取价值并处理它,但浏览器上没有任何内容。我不确定ajax是如何工作的。
答案 0 :(得分: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;
});
答案 1 :(得分:0)
这是如何用ajax完成的,虽然这不会处理返回页面。
var name = $("#nameString").value;
$.get("/ControllerName/HomePage",{ nameString : nameVar })
.done(function(){
window.location.assign("/ControllerName/HomePage");
});