ASP.NET вводит JavaScript в пользовательском элементе управления, вложенном в панели обновления

Я не уверен, что полностью понимаю ваш вопрос. Я понимаю, что у вас есть единственное значение, которое вы хотите знать, где оно занимает более длинный вектор.

#Create your data
l <- list("a" = c(1, 2), "b" =c(1, 3))
df <- data.frame(id = c("a", "b"), value = c(3, 2))

df$rankValue <- sapply(names(l), function(n) {
  combinedVector = c(l[[n]], df[which(df$id == n),"value"]) # we know the value from df is placed last

  ordering <- order(combinedVector, decreasing = TRUE) # find which order are the numbers in

  which(ordering == length(ordering)) # where (or which rank) is the last number (the input number)
})

> df
  id value rankValue
1  a     3         1
2  b     2         2
5
задан derSteve 10 April 2018 в 14:04
поделиться

5 ответов

Для этого можно сделать

string scr;
scr = "<script src='/scripts/myscript.js'></script>"
Page.ClientScript.RegisterStartupScript(GetType(Page), "key", scr, false)

HTH

3
ответ дан 13 December 2019 в 19:38
поделиться

Можно использовать метод RegisterStartupScript класса ScriptManager для введения исполняемого сценария:

public partial class WebUserControl : System.Web.UI.UserControl
{          
    protected void Page_PreRender(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(this, GetType(), ClientID, "alert(1)", true);
    }
}
2
ответ дан 13 December 2019 в 19:38
поделиться

Имейте свое испытанное

Page.ClientScript.RegisterStartUpScript(GetType(Page), "key", <your script here>, addSctiptTags:=true)

Мы делаем это в наших Пользовательских элементах управления, и это работает на нас

HTH

2
ответ дан 13 December 2019 в 19:38
поделиться

Если вы не хотите жестко закодировать ваш JavaScript, а вместо этого включить его из файла, вызовите ScriptManager.RegisterClientScriptInclude, а затем вызовите функцию инициализации в ScriptManager. RegisterStartupScript.

protected void Page_Load(object sender, EventArgs e)
{
   ScriptManager.RegisterClientScriptInclude(
      this, GetType(), "formatterScript", ResolveUrl("~/js/formatter.js"));
   ScriptManager.RegisterStartupScript(
      this, GetType(), "formatTableFunction", "formatTable()", true);
}
3
ответ дан 13 December 2019 в 19:38
поделиться

Включение RegisterStartupScript в событие Page_PreRender может не работать, если ваш элемент управления вложен в модальное всплывающее окно asp.net. Вместо этого поместите его в Page_Load, когда IsPostBack = False.

1
ответ дан 13 December 2019 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: