我在Razor视图中实现了一个Action Link,如下所示
<input type="hidden" id="format"/>
@Html.ActionLink("Save", "SaveFile", "ExportService", "http", "hrmsapp.mysystem.com", "", new { fileformat = <hidden field value here> }, new { @id = "save" })
我需要将隐藏字段的值传递给参数“fileformat”中的此操作链接。
我找不到任何办法。有很多线程在讨论@using Html.Form和“post”方法。但是,当我有不同的域hrms.mysystem.com时,我不确定如何使用表单发布。为此目的,Html.Form没有重载。
有没有办法在动作链接代码中读取隐藏字段值(不使用表单)?
答案 0 :(得分:2)
<form action="http://hrmsapp.mysystem.com" method="post">
<input type="hidden" id="format" name="fileformat" />
<input type="submit" value="POST to HRMS app" />
</form>
所有@ Html.Form都打印HTML。你不必使用它。您可以使用指向其他服务器的操作对HTML表单进行硬编码,然后发布。
答案 1 :(得分:1)
您可以使用jQuery替换占位符字符串:
<input type="hidden" id="format"/>
@Html.ActionLink("Save", "SaveFile", "ExportService", "http", "hrmsapp.mysystem.com", "", new { fileformat = "xxfileformat" }, new { @id = "save" })
<script>
$(function() {
$('#save').attr('href', $('#save').attr('href').replace('xxfileformat', $('#format').val()))
});
</script>