Tengo esta función JS en mi archivo .cshtml. Necesito pasar la cadena del objeto de C# a una variable de JavaScript para poder mostrar el nombre del receptor como una alerta. Soy un poco nuevo en ASP.NET, por lo que no estoy muy seguro de si esta es la mejor manera, ya que C # y JS tendrán que usarse juntos. ¿Alguien sabe un mejor enfoque ya que estoy bastante perdido? Esta es mi primera pregunta aquí, así que si se requiere más información, estaré encantado de responder :)
function autoFillForeign(){ @{ string custID = (string)ViewData["customerID"]; PayeeListDAL payeeContext = new PayeeListDAL(); List<PayeeList> payeeList = payeeContext.GetAllPayeeList(custID); ViewData["name1"] = payeeList[0].ReceiverName; @: alert(@ViewData["name1"]) } }No obtuve exactamente lo que desea lograr, pero es fácil pasar valores de C# a JavaScript. Puedes probar estos enfoques...
<script type="text/javascript"> function autoFillForeign(){ var msg = "@msg"; alert(msg); } </script>y la variable C# podría declararse en cualquier lugar por encima de esa función, como se muestra a continuación:
@{ string msg = "You are learning good"; }A veces, es posible que incluso desee obtener un valor de la función C# en la función JavaScript, sigue siendo el mismo enfoque.
<script type="text/javascript"> function autoFillForeign(){ var msg = "@ShortenText(msg)"; alert(msg); } </script>Su código C# podría parecerse a lo siguiente:
@functions{ public string ShortenText(string txt) { return (txt.Length > 10)? txt.Substring(0, 10): txt; } }y su variable c # podría declararse como
@{ string msg = "I am not a new C# programmer; I started programming C# since 2016"; }