如何将数组中的值从 asp.net 更改为 javascript

本文关键字:net asp javascript 数组 | 更新日期: 2023-09-27 18:31:04

我正在 javascript 的数组arr中加载字符串 myvalue(全局字符串)的值

function hello()
{
   alert("hi");
   var arr=[<% myvalue %>];
   alert(arr);
}

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
   myvalue="1234";
   Page.ClientScript.RegisterStartupScript(GetType(), "whatiskey", "hello();", true);  
}

并在listbox1.item选择和调用方法上更新myvalue,该方法更新arr的值,但javascript arr不加载新值

如何将数组中的值从 asp.net 更改为 javascript

你必须加上双引号并写成:

var arr=["<%=myvalue %>"];

或更好的方法:

var arr= new Array();
arr.push("<%=myvalue %>");

ListBox1注册为部分回发元素也可能是原因之一。

您是否能够调试,正在调用ListBox1_SelectedIndexChanged

您需要像下面这样的东西来阻止多次注册,这可能是不调用hello()的原因之一。使用 F12 调查呈现的 HTML。

// Check to see if the client script is already registered.
    if (!Page.ClientScript.IsClientScriptBlockRegistered(cstype, csname2))
    {
           Page.ClientScript.RegisterStartupScript(GetType(), "aNewKey",  "hello();", true);  
    }