2015-08-12 1 views
1
Type cstype = this.GetType(); 


     ClientScriptManager cs = Page.ClientScript; ///Broken line 


     if (!cs.IsStartupScriptRegistered(cstype, "loadvideo")) 
     { 
      StringBuilder cstext3 = new StringBuilder(); 
      cstext3.Append("jwplayer(\"vidplayer\").setup({"); 
      cstext3.Append("flashplayer:\"./players/player.swf\","); 
      cstext3.Append("file: \""); 
      cstext3.Append("./video.mp4"); 
      cstext3.Append("\",height: 270,"); 
      cstext3.Append("width: 400"); 
      cstext3.Append("});"); 
      cs.RegisterStartupScript(cstype, "loadvideo", cstext3.ToString(), true); 

СуществуетОбъект необходим для не-статического метода или поля ошибки

«Ссылка на объект необходим для не-статического поля, метода или собственность«System.Web. UI.Page.ClientScript.get '"

ошибка в указанной строке. Как я могу исправить?

+0

http://stackoverflow.com/questions/8861196/asp-net-how-to-call-clientscript -from-public-static-method – tharif

+0

http://stackoverflow.com/questions/4717498/an-object-reference-is-required-for-the-non-static-field-method-or-property – codeator

+0

Вы пытаетесь встроить плеер в телефонное приложение Windows или что-то еще? – emaxsaun

ответ

2

Page.ClientScript не статическое свойство, так что вы не можете использовать его таким образом. Предположим, у вас есть Page экземпляр с именем, как pageInstance, который может быть доступ в методе, используйте ниже вместо этого:

ClientScriptManager cs = pageInstance.ClientScript; 
+0

Спасибо за ваш ответ, но я получил эту ошибку сейчас. «Имя« pageInstance »не существует в текущем контексте» – rdmzcn

+0

«pageInstance» следует заменить на имя переменной вашего экземпляра страницы. –

+0

спасибо. Теперь нет ошибки. У меня есть вопрос. Как поместить это в форму. Я хочу запустить jwplayer в этой форме. – rdmzcn

2

Предполагая, что этот код от самой страницы, попробуйте это вместо того, чтобы ...

ClientScriptManager cs = this.ClientScript; ///Broken line 
+0

К сожалению, это не сработало. – rdmzcn