Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
System.ArgumentException:已存在具有相同密钥的条目-c#ClentIDMode_C#_Asp.net - Fatal编程技术网

System.ArgumentException:已存在具有相同密钥的条目-c#ClentIDMode

System.ArgumentException:已存在具有相同密钥的条目-c#ClentIDMode,c#,asp.net,C#,Asp.net,在服务器上部署我的网站时,我发现母版页中使用的某个div的ID正在更改,前缀为“ctl00”。因此,用户界面变得不协调 通过搜索,我发现需要在web.config文件中将clientdmode设置为static <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="Static" /> 现在,ID问题已经解决。但当单击网格视图的行时,会抛出一个错误 System.ArgumentException:

在服务器上部署我的网站时,我发现母版页中使用的某个div的ID正在更改,前缀为“ctl00”。因此,用户界面变得不协调

通过搜索,我发现需要在web.config文件中将clientdmode设置为static

   <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="Static" />

现在,ID问题已经解决。但当单击网格视图的行时,会抛出一个错误

System.ArgumentException:已存在具有相同密钥的条目

奇怪的是,这个异常引发了一个javascript,我只在点击按钮时调用它(而不是在gridview内部调用)。有人能解释为什么会发生这种情况吗

    function Show_Hide_Display() {            
       if (document.getElementById("<%=fade.ClientID%>").style.display == "" || document.getElementById("<%=fade.ClientID%>").style.display == "block") {
             document.getElementById("<%=fade.ClientID%>").style.display = "none";
         }
         else {
             document.getElementById("<%=fade.ClientID%>").style.display = "block";
         }
         return false;
     }
函数Show\u Hide\u Display(){
if(document.getElementById(“”.style.display==“”| | document.getElementById(“”.style.display==“block”){
document.getElementById(“”.style.display=“无”;
}
否则{
document.getElementById(“”.style.display=“block”;
}
返回false;
}

我找到了这个。这意味着将clientIDMode设置为可预测。这足以解决这个问题吗?或者需要为gridview设置单独的ClientMode?

那么您的意思是,您在一段Javascript上遇到了一个.NET异常,该Javascript无法回调ASP.NET代码?行单击是否会导致回发?共享可复制代码如何?在Gridview上设置ClientMode=“Predictable”时,不会出现此错误。是否有可能该行单击“回发”,而您正在用相同的行重新填充网格<代码>如果(!IsPostBack){FillTheGrid();}是通常的方式(我假设viewstate已启用)。你在这样做吗?你用模板来填充网格吗?请共享整页代码(aspx和aspx.cs)