2015-09-30 2 views
0

может кто-нибудь сказать мне, почему ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType, key, script.ToString, true); возвращается лучший метод перегрузки для ... Недопустимые аргументы ... Я считаю, что сценарий является вопросStringBuilder бросает недопустимые аргументы

StringBuilder script = new StringBuilder(); 
      string key = "setTableName"; 
      if (Page.ClientScript.IsClientScriptBlockRegistered(Page.GetType(), key) == false) 
      { 
       script.Append("\ng_tableName ='"); 
       script.Append(tableName + "';"); 

       script.Append("\ng_layerName ='"); 
       script.Append(layerName + "';"); 
      } 
      ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType, key, script.ToString, true); 
+8

можно передать 'ToString' вместо того, чтобы называть его. Поэтому в итоге вы передаете функцию вместо строки. –

ответ

1

Как Frédéric Hamidi сказал просто заменить script.ToString с script.ToString() для вызова функции вместо того, чтобы передать его в качестве аргумента:

ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), key, script.ToString(), true); 
+0

спасибо за ответ. и хорошо заметили, но мне также пришлось изменить this.Page на страницу & this.GetType на страницу.GetType – John

+0

Обновлен ответ –

Смежные вопросы