我尝试在下面的URL中为videoid参数赋值,但是在我的C#MVC控制器中调用url方法时,videoid为null
$(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?
答案 0 :(得分:0)
我认为您可能遇到了模型绑定问题而不是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实际上已填充。如果它被正确传递,那么模型绑定就是你的问题。