Javascript 保存父页面时,在Iframe中保存输入类型=文件

Javascript 保存父页面时,在Iframe中保存输入类型=文件,javascript,jquery,html,iframe,razor,Javascript,Jquery,Html,Iframe,Razor,我在获取iframe中的input type=file的值并将其传递到父窗体时遇到问题,因此在保存父窗体时,输入文件的值会异步保存 尝试添加HttpPostedFileBase Image=Request.Files[“Image”],但该值始终为空 这是Iframe的内容 <div class="form-group"> @Html.LabelFor(model => model.Image, new { @class = "control-labe

我在获取iframe中的
input type=file
的值并将其传递到父窗体时遇到问题,因此在保存父窗体时,输入文件的值会异步保存

尝试添加
HttpPostedFileBase Image=Request.Files[“Image”],但该值始终为空

这是Iframe的内容

 <div class="form-group">
            @Html.LabelFor(model => model.Image, new { @class = "control-label col-md-2 required" })
            <div class="col-md-10">
                <input type="file" name="Image" id="Image" style="display:none" />
                <input type="button" value="Upload File" id="alterFile" /> <label id="filename"></label>

                @Html.ValidationMessageFor(model => model.Image, "", new { @class = "text-danger" })
            </div>
        </div>

@LabelFor(model=>model.Image,新的{@class=“controllabel col-md-2 required”})
@Html.ValidationMessageFor(model=>model.Image,“,new{@class=“text danger”})

但是每次我提交它时,字段的值都是null,有没有办法获取Iframe内容并将其保存在父表单中?谢谢

在您的示例中,您有一个文件输入和一个按钮

我假设您希望在UI上隐藏类型为“file”的输入,只需提供一个显示“Upload file”的按钮

要使用javascript执行此操作,您可以执行以下操作:

var alterFile=document.getElementById('alterFile');
var fileInput=document.getElementById('Image');
var fileValue=document.getElementById('fileValue');
fileInput.addEventListener('change',function(){
fileValue.textContent=fileInput.value;
});
alterFile.addEventListener('click',function(){
fileInput.click();
});


虚拟值
您在.Net或Javascript中访问此文件时遇到问题吗?@DanielLane我尝试了.Net方法,但如果使用Javascript有更简单的解决方法,我很乐意尝试并使其生效