你好,请帮助我理解这一点,并希望它也能帮助别人。
在MVC中,我理解的是模型 - 视图 - 控制器,如果是正确的,它应该是一个模式。在我看来它像:但我无法弄清楚如何让他们沟通或了解“最佳实践” 所以我想出了这个简单的想法让我理解。 我有一个简单的视频“MP4供参考”(C:\ Users \ Me \ Documents \ FunVid.mp4)
我创建了一个ASP.NET MVC项目,包括: - 一个模型。 “VideoProdcast.cs” - 控制器。 “VideoController.cs” - 查看“剃刀”。 “VideoView.cshtml”
所以,如果这是:
型号:“VideoProdcast.cs”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Vidi.Models
{
public class VideoProdcast
{
public int MovieId { get; set; }
public string MovieName { get; set; }
}
}
控制器: “VideoController.cs”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Vidi.Models;
namespace Vidi.Controllers
{
public class VideoController : Controller
{
// GET: Video
public ActionResult VideoView()
{
var Movie = new Movie() { Name = "Movie" };
return View(Movie);
}
}
}
查看:“VideoView.cshtml”
@{
ViewBag.Title = "VideoView";
}
<h2>VideoView</h2>
因为我的电影已开启(C:\ Users \ Me \ Documents \ FunVid.mp4) 在我的视图中显示这部电影的最佳做法是什么,使用(MVC结构)视图将funVid.mp4作为控制器或函数从模型中按电影名称调用。 “如果我说错了,请帮助我吗?” 请注意,视频格式不是必须的“任何支持的格式都可以正常工作”。
我不知道我是否更容易理解,但这是我想象的方式。在此先感谢我真的很感谢你的帮助。
答案 0 :(得分:1)
不确定这是否是最佳做法:
以字符串形式向模型添加网址。
在您的控制器中,使用视频路径填充模型,无论它们存储在何处,或者只是
var Movie = new VideoProdCast(){NameName =“Movie”,URL =“C:\ yourpath \ yourvideo.mp4”,id = 1}; 返回视图(电影);
在您的视图中,设置视频src = model.url,同时引用视图顶部的模型。
答案 1 :(得分:1)
你正走在正确的轨道上。您缺少的两个主要内容是文件的路径,如您所述,并完成您开始的模型绑定。
至于文件路径,这应该是VideoProdcast
模型的属性:
public class VideoProdcast
{
public int MovieId { get; set; }
public string MovieName { get; set; }
public string MoviePath { get; set; }
}
然后,将以下行添加到您的视图中:
@model Vidi.Models.VideoProdcast
这使您可以访问传递给控制器中视图的Movie模型对象(return View(Movie);
)。由于您已添加文件路径,因此现在可以在视图中添加以下内容:
<video src="@Model.MoviePath">@Model.MovieName</video>
或类似的东西,以在页面上显示视频。