从javascript asp.net mvc 4调用FormMethod.Post

从javascript asp.net mvc 4调用FormMethod.Post,javascript,asp.net-mvc-4,Javascript,Asp.net Mvc 4,我在点击导航栏上的链接获取文件上传时遇到问题 我使用的是MVC4,有一个控制器可以加载文件并检查它是否正常,我可以通过一个输入法来完成这项工作,但它看起来不太好,我想让UI更流畅一些,所以我有一个链接按钮叫做上传。我要做的是调用FormMethod.post,并提供所需的上传详细信息。我对这个很陌生,所以如果这是一个简单的问题,请原谅我 <li><a href="#" onclick="fileUpload()">upload</a></li>

我在点击导航栏上的链接获取文件上传时遇到问题

我使用的是MVC4,有一个控制器可以加载文件并检查它是否正常,我可以通过一个输入法来完成这项工作,但它看起来不太好,我想让UI更流畅一些,所以我有一个链接按钮叫做上传。我要做的是调用FormMethod.post,并提供所需的上传详细信息。我对这个很陌生,所以如果这是一个简单的问题,请原谅我

<li><a href="#" onclick="fileUpload()">upload</a></li>
  • 这很有效

    @using (Html.BeginForm("Upload", "Authenticated", FormMethod.Post, new { enctype = "multipart/form-data" }))
     {
        @Html.ValidationSummary(true)
          <fieldset>
             Select a file : <input type="file" name="file" />
             <input type="submit" value="Upload" />
          </fieldset>
     }
    
    @使用(Html.BeginForm(“上传”、“已验证”、FormMethod.Post、新的{enctype=“多部分/表单数据”}))
    {
    @Html.ValidationSummary(true)
    选择一个文件:
    }
    
    问候


    Aidan终于让它工作了,我需要添加
    ,这样它就可以启动物品了

    谢谢你的提示@David

    问候


    Aidan

    在哪里定义了
    fileUpload()
    ?另外,如果您的目标是使用AJAX上传文件,那么请注意,一些相对较新的浏览器的行为与预期不符。AJAX表单发布已经足够普遍,但AJAX文件上传相对较新。因此,如果您必须支持任何较旧的浏览器,这可能不值得付出努力。您好,我不确定最终用户将使用什么浏览器,但我们目前正在使用Chrome,因此如果我能让它为此工作,IE认为我们将被涵盖。您面临的具体问题是什么?如果没有看到
    fileUpload()
    的实现,我们肯定无法判断是否有任何错误。您是否收到错误消息?系统以何种方式运行不符合预期?一般来说,对于AJAX文件上传,Google搜索会找到一些快速的jQuery插件来帮助您入门。我已经使用了jQuery表单插件,它工作得很好。我只想在单击openFileDialog上的open(打开)时向控制器发送一个文件名,但我想从链接而不是输入按钮调用openFD,以使其与表单的其余部分保持一致。希望这更容易理解。也许我误解了。如果您不想使用AJAX,而只是想用JavaScript手动提交表单,那么您只需执行以下操作:
    $('form').submit()。(这假设页面上只有一个
    表单
    元素。如果不是这样,您必须修改jQuery选择器。)