Изменить SRC в HTML5 видео тег в .net - PullRequest
0 голосов
/ 02 июня 2011

Мне интересно, есть ли способ легко изменить src в теге video в HTML5 с codebehind?

Теперь мое решение состоит в том, чтобы использовать различные WebUserControl и помещать их в PlaceHolder при нажатии их кнопки,но это быстро приводит к большому количеству элементов управления.

Должен быть лучший способ.

может быть, как размещение ярлыка, привязка какого-либо рода в src

Ответы [ 2 ]

3 голосов
/ 02 июня 2011

Любой тег может иметь атрибуты, добавленные к нему в коде позади, если вы добавите runat = "server", так что да, есть.

на странице .aspx:

<video id="videoTag" runat="server" />

код-за:

videoTag.Attributes["src"] = "bob";

В качестве альтернативы вы можете написать свой собственный webcontrol . Это требует больше работы и понимания asp.net, но это будет того стоить, если вы собираетесь использовать это много.

И если вы используете ASP.Net MVC, они уже выпустили поддержку HTML5 в ASP.Net MVC 3, насколько я понимаю.

2 голосов
/ 13 июня 2011

решил, разместив это на странице aspx

<asp:PlaceHolder ID="VidModule" runat="server"></asp:PlaceHolder>

и это в коде

    //Video relevant int's
int width {get; set;}
int height { get; set; }


//Video relevant text's
string overskrift { get; set; }
string poster { get; set; }
string titleimg { get; set; }
string ogv { get; set; }
string mp4 { get; set; }
string webm { get; set; }
string reso { get; set; }
string res { get; set; }


protected void Page_Load(object sender, EventArgs e)
{



}

//low 240i resolution player LowD
protected void low240i_Click(object sender, EventArgs e)
{
    height = 480;
    width = 640;
    reso = "240i";
    if (reso == "240i")
        res = "240i/";
    else if (reso == "240p")
        res = "240p/";
    else if (reso == "480p")
        res = "480p/";
    else if (reso == "720p")
        res = "720p/";

    int Data = Convert.ToInt32(Request.QueryString["id"]);
    VideoDataContext db = new VideoDataContext();

    var fetch = from list in db.VideoDBs
                where
                list.VidID == Data
                select list;

    foreach (var list in fetch)
    {
        overskrift = "\"" + list.Name + "\"";
        poster = "\"" + list.IMGAddr + "\"";
        titleimg = "\"" + list.IMGAddr + "\"";
        if (list.mp4 == true)
            mp4 = "\"" + "../Movies/Mov/" + res + list.VIDAddr + ".mp4" + "\"";
        else
            mp4 = null;
        if (list.ogv == true)
            ogv = "\"" + "../Movies/Mov/" + res + list.VIDAddr + ".ogv" + "\"";
        else
            ogv = null;
        if (list.webm == true)
            webm = "\"" + "../Movies/Mov/" + res + list.VIDAddr + ".webm" + "\"";
        else
            webm = null;
    }

    Panel1.Controls.Add(new LiteralControl("<div class=player ><br />"));
    Panel1.Controls.Add(new LiteralControl("<h3>" + overskrift + " in " + reso + "</h3><br /><br />"));
    Panel1.Controls.Add(new LiteralControl("<video controls=controls id=video width=" + "\"" + width + "\"" + " height=" + "\"" + height + "\"" + " poster=" + poster + " preload=auto >"));
    Panel1.Controls.Add(new LiteralControl("<source src=" + mp4 + " type=\"video/mp4; codecs=avc1.42E01E, mp4a.40.2\" title=" + titleimg + " />"));
    Panel1.Controls.Add(new LiteralControl("<source src=" + webm + " type=\"video/webm; codecs=vp8, vorbis\" title=" + titleimg + " />"));
    Panel1.Controls.Add(new LiteralControl("<source src=" + ogv + " type=\"video/ogg; codecs=theora, vorbis\" title=" + titleimg + " />"));
    Panel1.Controls.Add(new LiteralControl("Your browser does not support the video tag."));
    Panel1.Controls.Add(new LiteralControl("</video></div>"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...