Я не уверен, что полностью понимаю ваш вопрос. Я понимаю, что у вас есть единственное значение, которое вы хотите знать, где оно занимает более длинный вектор.
#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
Для этого можно сделать
string scr;
scr = "<script src='/scripts/myscript.js'></script>"
Page.ClientScript.RegisterStartupScript(GetType(Page), "key", scr, false)
HTH
Можно использовать метод 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);
}
}
Имейте свое испытанное
Page.ClientScript.RegisterStartUpScript(GetType(Page), "key", <your script here>, addSctiptTags:=true)
Мы делаем это в наших Пользовательских элементах управления, и это работает на нас
HTH
Если вы не хотите жестко закодировать ваш 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);
}
Включение RegisterStartupScript в событие Page_PreRender может не работать, если ваш элемент управления вложен в модальное всплывающее окно asp.net. Вместо этого поместите его в Page_Load, когда IsPostBack = False.