我想在点击提交按钮时将隐藏的字段值传递到我的操作方法中。这需要在点击发布文件的按钮时发生。下面是使用Post方法接受文件的HTML表单的Razor代码。
@using (Html.BeginForm("UploadProject", "Admin", FormMethod.Post, new { enctype = "multipart/form-data"}))
{
<label id="lblProjectSize" hidden="hidden">Select Project size</label>
<select id="ddlProjectSize">
<option value="1">Large</option>
<option value="2">Medium</option>
<option value="3">Small</option>
</select>
<input type="hidden" id="hdnProjectSize" />
<input type="submit" value="Upload Data" onclick="setHiddenVal()" />
}
这是我的行动方法 -
[HttpPost]
public async Task<ActionResult> UploadProject(string UploadProjectOption, int? ProjectId, HttpPostedFileBase PostedFile)
{
//code here
}
我可以在操作方法中访问文件对象,但我不确定如何通过提交的表单传递其他参数。
截至我在点击提交按钮时设置隐藏字段值,之后我需要访问已发布操作方法中的隐藏字段值。
设置隐藏字段值的脚本 -
function setHiddenVal()
{
alert($("#ddlProjectSize :selected").val());
$("#hdnProjectSize").val($("#ddlProjectSize :selected").val());
}
我不想为此使用AJAX。
答案 0 :(得分:0)
首先,您应为输入类型设置name
属性,并在提交时定义onclick
事件,当然您无法触发表单操作。相反,为select选项定义onchange
事件。
@using (Html.BeginForm("UploadProject", "Admin", FormMethod.Post, new { enctype = "multipart/form-data"}))
{
<label id="lblProjectSize" hidden="hidden">Select Project size</label>
<select id="ddlProjectSize" name = "ddlProjectSize" onchange="setHiddenVal()">
<option value="1">Large</option>
<option value="2">Medium</option>
<option value="3">Small</option>
</select>
<input type="hidden" id="hdnProjectSize" name = "hdnProjectSize"/>
<input type="submit" value="Upload Data" />
}