如何从VB.NET代码后面更改html5视频控件的src(不是C#)

ao218c7q  于 5个月前  发布在  .NET
关注(0)|答案(1)|浏览(36)

旧的VB.net网站与VB代码。
我找到的所有示例都是针对C#的,甚至我找到的针对VB.NET的示例Changing the source of a video in ASP.NET/VB.NET也给了我错误。

这是html页面上的控件,如果它被硬编码为“src”,则将显示.mp4:

<video width="320" height="240" controls id="videoHolder" runat="server">
  <source src="../videos/MP4s/english-country-dancing-example.mp4" type="video/mp4">
</video>

字符串

这是get从数据库查询中提供的视频.mp4名称的代码:

Dim videoHolder As Video

videoHolder.src = strVideoFile


但是,“Video”一词的下划线为红色(“type Video is not defined”),“videoHolder”一词的下划线为绿色(“BC 42104:变量'videoHolder'在赋值之前使用。”)
(the变量strVideoFile确实正确保存了实际文件的路径)。
现在我认为我是相当聪明的,但我还没有在VB.net编程相当一段时间,我被难倒了。
请让我知道,如果我可以问这个问题更好。我还没有找到任何链接旁边的一个我上面列出的。

bvuwiixz

bvuwiixz1#

好吧,正如你所注意到的,硬编码是可行的。
你可以这样做:

<asp:Button ID="Button1" runat="server" Text="Button" />
        <br />
        <br />
        <br />
        <video width="320" height="240"  
            id="videoHolder" runat="server" controls>
            <source  runat="server" id="mysource" />
        </video>

字符串
因此,通过将源代码标记为服务器,我们的按钮单击代码可以是:

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    mysource.Attributes("src") = ResolveUrl("~/Content/Sample.mp4")
    mysource.Attributes("type") = "video/mp4"

End Sub


因此,效果是这样的:


的数据
实际上有很多例子建议使用RegisterScript,其中一些JavaScript代码用于设置src(通过将一些JavaScript脚本注入到页面中,从而设置src)。
但是,如上所示,您可以通过将“source”设置为服务器控件(使用runat=“server”)来实现这一点。
下一个技巧是不要使用Server.MapPath,因为它返回一个服务器端窗口的完整有效路径名。
src需要一个“客户端”的名称解析,因此使用ResolveUrl()可以生成一个有效的客户端(浏览器)URL。

相关问题