Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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/5/date/2.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
Javascript 如何从usercontrol更新控件的ID_Javascript_Asp.net_User Controls - Fatal编程技术网

Javascript 如何从usercontrol更新控件的ID

Javascript 如何从usercontrol更新控件的ID,javascript,asp.net,user-controls,Javascript,Asp.net,User Controls,我有一个aspx页面,其中有一个div control id=“mainblock” 我创建了一个usercontrol,它根据登录页动态检索一个值 我必须将此值作为id传递给div id=“mainblock”,以便将其id更改为该值 我尝试了很多事情,但根本不能工作 首先,我尝试在用户控件中编写一个服务器端代码,以便像这样进行更新 protected void Page_Load(object sender, EventArgs e) { divid = dynamici

我有一个aspx页面,其中有一个div control id=“mainblock”

我创建了一个usercontrol,它根据登录页动态检索一个值

我必须将此值作为id传递给div id=“mainblock”,以便将其id更改为该值

我尝试了很多事情,但根本不能工作

首先,我尝试在用户控件中编写一个服务器端代码,以便像这样进行更新

 protected void Page_Load(object sender, EventArgs e)
    {
     divid = dynamicid();

        var control = this.Page.FindControl("mainblock");
        if (control != null)
        {
            control.ID = divid.ToString();                
        }
       }
 <script type="text/javascript">
    document.getElementById('mainblock').id = document.getElementById('<%=   usercontrolidvalue.ClientID %>').innerText;
    </script>
这不会改变父页面中DIV的id

我尝试使用javascript,以便从用户控件的控件复制innertext并更新当前页面控件id,如下所示

 protected void Page_Load(object sender, EventArgs e)
    {
     divid = dynamicid();

        var control = this.Page.FindControl("mainblock");
        if (control != null)
        {
            control.ID = divid.ToString();                
        }
       }
 <script type="text/javascript">
    document.getElementById('mainblock').id = document.getElementById('<%=   usercontrolidvalue.ClientID %>').innerText;
    </script>

document.getElementById('mainblock').id=document.getElementById('').innerText;
这给了我这个错误。。 仅允许在包含内容控件的内容页中直接使用内容控件

有没有办法从usecontrol更新控件的当前id


请提供任何帮助

您不能从代码隐藏更改ID的值。但是,您可以从aspx代码设置客户端ID

你有一组有限的id值吗?然后,您可以在aspx中执行以下操作:

<div runat="server" clientidmode="Static" id="div1">one</div>
<div runat="server" clientidmode="Static" id="div2">two</div>
<div runat="server" clientidmode="Static" id="div3">three</div>
<div runat="server" clientidmode="Static" id="div4">four</div>
这将在输出HTML中只剩下div four