Llamar a la función de JavaScript desde C#
Frecuentes
Visto 109,492 veces
11
Javascript.js
function functionname1(arg1, arg2){content}
Archivo C #
public string functionname(arg)
{
if (condition)
{
functionname1(arg1,arg2); // How do I call the JavaScript function from C#?
}
}
Consulte el código anterior y sugiérame la idea de llamar a una función de JavaScript desde C#.
5 Respuestas
13
Si desea llamar a la función de JavaScript en C#, esto le ayudará:
public string functionname(arg)
{
if (condition)
{
Page page = HttpContext.Current.CurrentHandler as Page;
page.ClientScript.RegisterStartupScript(
typeof(Page),
"Test",
"<script type='text/javascript'>functionname1(" + arg1 + ",'" + arg2 + "');</script>");
}
}
respondido 28 nov., 15:08
8
Esto puede resultarle útil:
<script type="text/javascript">
function Showalert() {
alert('Profile not parsed!!');
window.parent.parent.parent.location.reload();
}
function ImportingDone() {
alert('Importing done successfull.!');
window.parent.parent.parent.location.reload();
}
</script>
if (SelectedRowCount == 0)
{
ScriptManager.RegisterStartupScript(this, GetType(), "displayalertmessage", "Showalert();", true);
}
else
{
ScriptManager.RegisterStartupScript(this, GetType(), "importingdone", "ImportingDone();", true);
}
respondido 28 nov., 15:08
2
Archivo .aspx en la sección de encabezado
<head>
<script type="text/javascript">
<%=YourScript %>
function functionname1(arg1,arg2){content}
</script>
</head>
archivo .cs
public string YourScript = "";
public string functionname(arg)
{
if (condition)
{
YourScript = "functionname1(arg1,arg2);";
}
}
respondido 28 nov., 15:08
1
Puede llamar a las funciones de javascript desde C# usando Jering.Javascript.NodeJS, una biblioteca de código abierto de mi organización:
string javascriptModule = @"
module.exports = (callback, x, y) => { // Module must export a function that takes a callback as its first parameter
var result = x + y; // Your javascript logic
callback(null /* If an error occurred, provide an error object or message */, result); // Call the callback when you're done.
}";
// Invoke javascript
int result = await StaticNodeJSService.InvokeFromStringAsync<int>(javascriptModule, args: new object[] { 3, 5 });
// result == 8
Assert.Equal(8, result);
La biblioteca también admite invocaciones directamente desde archivos .js. Di que tienes un archivo C:/My/Directory/exampleModule.js
conteniendo:
module.exports = (callback, message) => callback(null, message);
Puede invocar la función exportada:
string result = await StaticNodeJSService.InvokeFromFileAsync<string>("C:/My/Directory/exampleModule.js", args: new[] { "test" });
// result == "test"
Assert.Equal("test", result);
respondido 14 mar '20, 19:03
1
ahora puede hacerlo con Blazor, consulte JSInterop
Respondido 30 Oct 22, 13:10
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# javascript asp.net function or haz tu propia pregunta.
no te entiendo ¿Le gustaría llamar a la función js en el archivo de código C#? o Función de archivo de código para JS? - Bhavin Chauhan