如何在文档就绪 .fileupload 中分配值

How to assign a value in document ready .fileupload

本文关键字:分配 fileupload 就绪 文档      更新时间:2023-09-26

我尝试在下面的URL中为videoid参数分配一个值,但是当在我的C# MVC控制器中调用url方法时,videoid为空

  $(document).ready(function() {
      var videoid;
      videoid = $scope.VideoId.id;
      $scope.alertVidUpload.show = false;
      $scope.$apply();
      $("#fileupload").fileupload({
        dataType: "json",
        url: '/Videos/UploadVideoFile/?videoid=' + $("#videoIdVal").text(),
        autoUpload: true

控制器:方法:

[HttpPost]
public ActionResult UploadVideoFile(string videoid)
{
    var uploadedVideo = new VideoDetail();
    if (videoid != null)
    {
        uploadedVideo = _companyRepo.GetPostedVideo(Guid.Parse(videoid));
    }

我最初使用角度范围对象的值尝试了以下内容

url: '/Videos/UploadVideoFile/?videoid=' + $scope.VideoId.id

我很确定$scope.VideoId.id有一个值,因为我在浏览器中观看了它并看到了价值。

我尝试在我的表单上创建一个隐藏标签并将值分配给 URL:

url: '/Videos/UploadVideoFile/?videoid=' + $("#videoIdVal").text(),

我可以在浏览器控制台中看到标签值 $("#videoIdVal").text() ,但是当控制器方法被命中时videoID为空

任何人都可以帮助弄清楚为什么我无法将videoId参数值分配给文档就绪函数中的 url?

我认为您可能遇到了模型绑定问题而不是JS问题。尝试在方法上使用 [FromUri] (https://msdn.microsoft.com/en-us/library/system.web.http.fromuriattribute%28v=vs.118%29.aspx) 属性,如下所示:

[HttpPost]
public ActionResult UploadVideoFile([FromUri]string videoid)
{
  ....

您还可以在Chrome/Firefox中检查您的网络选项卡,以确保Id确实已填充。如果它被正确传递,则模型绑定是你的问题。