Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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
动态创建控件asp.net C#_C#_Asp.net_.net_Webforms - Fatal编程技术网

动态创建控件asp.net C#

动态创建控件asp.net C#,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我有一个网站,你可以参加多项选择测验。测验中的每个问题可能有1到5个答案。我很难弄清楚如何根据有多少答案动态地进行测验控制。我可以很容易地得到答案的数量。 所以,如果有3个答案,我需要生成3个文本框(只读)和相应的单选按钮列表。然后,当用户按下按钮时,提交数据并加载下一个问题。我正试图在C#中完成这一切。我曾经做过完全相同的操作,但只动态创建文本框。我正在复制我的代码(现在正忙着进行更改),请根据需要编辑: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

我有一个网站,你可以参加多项选择测验。测验中的每个问题可能有1到5个答案。我很难弄清楚如何根据有多少答案动态地进行测验控制。我可以很容易地得到答案的数量。
所以,如果有3个答案,我需要生成3个文本框(只读)和相应的单选按钮列表。然后,当用户按下按钮时,提交数据并加载下一个问题。我正试图在C#中完成这一切。

我曾经做过完全相同的操作,但只动态创建文本框。我正在复制我的代码(现在正忙着进行更改),请根据需要编辑:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head runat="server">  
    <title></title>  

    </script>  

</head>  

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>  

<script type="text/javascript">  
    function GetDynamicTextBox(value)  
    {  
        return '<input name = "DynamicTextBox"  class="dynamic"  type="text" value = "' + "mymonthname" + '" />' +  
            '<input name = "DynamicTextBox1"  class="dynamic"  type="text" value = "' + "myYearname" + '" />' +  
            '<input type="button" value="Remove" onclick = "RemoveTextBox(this)" />'  
    }  

    function AddTextBox()  
    {  
        var div = document.createElement('DIV');  
        div.innerHTML = GetDynamicTextBox("");  
        document.getElementById("TextBoxContainer").appendChild(div);  
    }  

    function RemoveTextBox(div)  
    {  
        document.getElementById("TextBoxContainer").removeChild(div.parentNode);  
    }  
    //    function RecreateDynamicTextboxes() {    
    //        var values = "vishal";    
    //        if (values != null) {    
    //            var html = "";    
    //            for (var i = 0; i < values.length; i++) {    
    //                html += "<div>" + GetDynamicTextBox(values[i]) + "</div>";    
    //            }    
    //            document.getElementById("TextBoxContainer").innerHTML = html;    
    //        }    
    //    }  
</script>  

</head>  

<body>  
    <form id="form1" runat="server">  

        <div id="TextBoxContainer" style="text-align: center;" class="step">  
        </div>  

        <div>  
            <div style="text-align: center;" id="setPrinteraxcis1">  
                <input id="btnAdd" type="button" value="Add" onclick="AddTextBox()" class="ANPClass" />  
            </div>  
        </div>  
    </form>  
</body>  
其中MultipleId是一个数组列表:

  public ArrayList MultipleId = new ArrayList();
p.S.
我根据一些标准阅读了您的需求,然后您可以在AddTextbox方法和循环中使用计数器来创建所需数量的textbox。

如何静态地执行此操作?发布这些代码可以让我们更好地了解您正在使用的框架。如果最多只有5个,我可能会有5个主要是静态的选项。动态填充文本并隐藏未使用的问题。如果静态填充,我可以使用visual Studio中的设计视图将它们与CSS一起放置。我尝试过静态地制作它们并切换可见性,但它似乎有点笨重。类似于if(1){Show only 1 button and textbox}(if2){Show only 2 button and textbox}等。
  public ArrayList MultipleId = new ArrayList();