Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NET MVC结构。从视图调用控制器_C#_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

C# NET MVC结构。从视图调用控制器

C# NET MVC结构。从视图调用控制器,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,你好,请帮助我理解这一点,让我们希望它也能帮助别人 在MVC中,我理解的是一个模型-视图-控制器,如果我是对的,它应该是一个模式。在我看来,这就像: 模型中的类 控制器中的函数 视图中的布局或输出 但我不明白的是如何让他们交流或了解“最佳实践” 所以我想出了一个简单的想法让我明白。 我在(C:\Users\Me\Documents\FunVid.MP4)上有一个简单的视频“MP4供参考” 我创建了一个ASP.NET MVC项目,包括: -模特儿。“VideoProdcast.cs” -控制器。

你好,请帮助我理解这一点,让我们希望它也能帮助别人

在MVC中,我理解的是一个模型-视图-控制器,如果我是对的,它应该是一个模式。在我看来,这就像:

模型中的类 控制器中的函数 视图中的布局或输出

但我不明白的是如何让他们交流或了解“最佳实践” 所以我想出了一个简单的想法让我明白。 我在(C:\Users\Me\Documents\FunVid.MP4)上有一个简单的视频“MP4供参考”

我创建了一个ASP.NET MVC项目,包括: -模特儿。“VideoProdcast.cs” -控制器。“VideoController.cs” -查看“剃须刀”。“VideoView.cshtml”

因此,如果这是:

模型:“VideoProdcast.cs”

控制器:“VideoController.cs”

视图:“VideoView.cshtml”

@{
ViewBag.Title=“VideoView”;
}
播放视频
因此,考虑到我的电影正在播放(C:\Users\Me\Documents\FunVid.mp4) 使用(MVC结构)视图调用funVid.mp4作为控制器或根据模型中的电影名称调用函数,在我的视图上显示这部电影的最佳实践是什么。“如果我说错了什么,请帮助我。” 请注意,视频格式不是必须的“任何受支持的格式都可以正常工作”。


我不知道是我让它更容易理解还是更难理解,但这就是我的想象。提前谢谢,我真的非常感谢您的帮助。

不确定这是否是最佳做法:

  • 将URL作为字符串添加到模型中

  • 在控制器中,使用视频的路径填充模型,无论从何处存储视频,或者只需

    var Movie=new VideoProdCast(){NameName=“Movie”,URL=“C:\yourpath\yourvideo.mp4”,id=1}; 返回视图(电影)

  • 在视图中,设置视频src=model.url,并在视图顶部引用模型


  • 你走得很对。您缺少的两个主要内容是文件的路径(如您所述)和完成启动的模型绑定

    至于文件路径,这应该是
    VideoProdcast
    模型的一个属性:

    public class VideoProdcast
    {
        public int MovieId { get; set; }
        public string MovieName { get; set; }
        public string MoviePath { get; set; }
    }
    
    然后,将以下行添加到视图中:

    @model Vidi.Models.VideoProdcast
    
    这使您可以访问传递给控制器中视图的电影模型对象(
    返回视图(电影);
    )。由于已将路径添加到文件中,现在可以向视图中添加如下内容:

    <video src="@Model.MoviePath">@Model.MovieName</video>
    
    @Model.MovieName
    
    或者类似的方式在页面上显示视频。

    ASP.NET MVC不是真正的“MVC”-ViewModel不是模型-它充当控制器和视图之间的中介。模型本身通常是您的业务实体对象,这不适用于您的场景。所以最好将其描述为“MCVmV”(模型控制器视图模型视图)。。。
    public class VideoProdcast
    {
        public int MovieId { get; set; }
        public string MovieName { get; set; }
        public string MoviePath { get; set; }
    }
    
    @model Vidi.Models.VideoProdcast
    
    <video src="@Model.MoviePath">@Model.MovieName</video>