Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将字符串数组分配给asp:HiddenField_C#_Javascript_Jquery_Asp.net - Fatal编程技术网

C# 无法将字符串数组分配给asp:HiddenField

C# 无法将字符串数组分配给asp:HiddenField,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我试图将数组(globalaProviders)内容分配给asp隐藏字段(aProvidersHdn),并在单击WebLinkButton(自定义控件)后获取服务器中的值 在下面的Javascript代码中,我能够将JSON文件中的字符串值分配给globalaProviders数组。当我尝试将数组中的值分配给隐藏字段(aProvidersHdn)时,我在客户机和服务器中获得一个空值 以下是JavaScript代码: <script language="javascript" type="t

我试图将数组(globalaProviders)内容分配给asp隐藏字段(aProvidersHdn),并在单击WebLinkButton(自定义控件)后获取服务器中的值

在下面的Javascript代码中,我能够将JSON文件中的字符串值分配给globalaProviders数组。当我尝试将数组中的值分配给隐藏字段(aProvidersHdn)时,我在客户机和服务器中获得一个空值

以下是JavaScript代码:

<script language="javascript" type="text/javascript">function bbPlusPullTest()
{
globalaProviders=[];
aProvidersHdn="";
$.each(providers, function(i,v){

globalaProviders[i,0]=v.uri;
     globalaProviders[i,1]=v.name;
     globalaProviders[i,2]=v.description;
});

$("#<%=aProvidersHdn.ClientID%>").val(globalaProviders);
alert("aProvidersHdn = "+ aProvidersHdn); 
//empty value obtained
}
</script>

//I’ve added this to trigger a postback after the WebLinkButton(custom control) is clicked so the values of the hidden field can be send to the server.
<% if (!Page.IsPostBack) { %>
<script type="text/javascript">
window.onload = function() {
   __doPostBack("<%= MedicalHistory.ClientID %>", "");
}
</script>
以下是提供程序的代码:

providers = function(registries, callback){

    var requests = [];
    jQuery.each(registries, function(i, r){
      requests.push(jQuery.ajax({
        type: "GET",
        url: r+"prov.json"
      }));
    });

    var providers = [];
    jQuery.when.apply(null, requests).then(function(){
      jQuery.each(arguments, function(responseNum, arg){
        if (responseNum>=requests.length) {
          return;
        }
        jQuery.each(arg, function(i, provider){
          providers.push(provider);
        });
      });
      callback(providers);
    });

我做错了什么

只需使用一些分隔符连接数组中的字符串即可
然后在服务器端按此分隔符拆分结果字符串

我尝试使用分隔符连接数组中的字符串,但仍然存在相同的问题。我的问题是,我在客户端和服务器的hiddenfield(aProvidersHdn)中得到了空值。显然,数组中的内容没有传递到以下代码中的hiddenfield:$(“#”)val(globalaProviders);哎呀,你有数组数组,而不仅仅是字符串数组。在这种情况下,您最好编写一些js函数来将此数组转换为字符串,然后在服务器端编写另一种方法来进行相反的转换。我有一个二维字符串数组,我试图做的是将二维字符串数组的内容分配到asp:hidden字段中。在上面的代码中,我使用警报测试隐藏字段,结果是一个空字符串。我还测试了使用(“| | | | |”)作为分隔符直接将值从JSON文件写入隐藏字段,但在隐藏字段中仍然会得到一个空值(这不包括在上面的代码中)您是否认为此调用是将数组内容(globalaProviders)分配给asp隐藏字段(aProvidersHdn)的正确调用,并且调用是否位于代码中的正确位置?:$(“#”).val(globalaProviders);
if (!IsPostBack)
{
MedicalHistory.Attributes.Add("onclick", "bbPlusPullTest(); return false;");
}
else
{
string providersArray = aProviders.Value;
}
providers = function(registries, callback){

    var requests = [];
    jQuery.each(registries, function(i, r){
      requests.push(jQuery.ajax({
        type: "GET",
        url: r+"prov.json"
      }));
    });

    var providers = [];
    jQuery.when.apply(null, requests).then(function(){
      jQuery.each(arguments, function(responseNum, arg){
        if (responseNum>=requests.length) {
          return;
        }
        jQuery.each(arg, function(i, provider){
          providers.push(provider);
        });
      });
      callback(providers);
    });