Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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/1/asp.net/33.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# HTML标记不';回发时不能更改_C#_Asp.net_Html - Fatal编程技术网

C# HTML标记不';回发时不能更改

C# HTML标记不';回发时不能更改,c#,asp.net,html,C#,Asp.net,Html,要重新生成问题,请使用以下代码在VS中创建项目: 此代码位于母版页的form标记内,而后面的代码则不包含任何内容 <asp:ScriptManager ID="scmManager" runat="server" AsyncPostBackTimeout="3600" /> <div> <div id="divCContents"> <div id="divSideBar"> <asp:cont

要重新生成问题,请使用以下代码在VS中创建项目:

此代码位于母版页的form标记内,而后面的代码则不包含任何内容

<asp:ScriptManager ID="scmManager" runat="server" AsyncPostBackTimeout="3600" />
<div>
    <div id="divCContents">
        <div id="divSideBar">
            <asp:contentplaceholder ID="cphMenus" runat="server" /> 
        </div>
        <div id="divMContents">
            <asp:contentplaceholder ID="cphPages" runat="server" />
        </div>
    </div>
</div>

此代码位于TESTDefault.aspx中的第一个asp:Content中

<asp:UpdatePanel ID="updCombos" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="DropDownList1" runat="server" Width="170px" AutoPostBack="true" 
                  OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
        </asp:DropDownList>
        <br />
        <br />
        <asp:DropDownList ID="DropDownList2" runat="server" Width="170px" AutoPostBack="true"
                          OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="updPanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Panel ID="pnlTest" runat="server" />
    </ContentTemplate>
</asp:UpdatePanel>



此代码位于TESTDefault.aspx中的第二个asp:Content中

<asp:UpdatePanel ID="updCombos" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="DropDownList1" runat="server" Width="170px" AutoPostBack="true" 
                  OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
        </asp:DropDownList>
        <br />
        <br />
        <asp:DropDownList ID="DropDownList2" runat="server" Width="170px" AutoPostBack="true"
                          OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="updPanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Panel ID="pnlTest" runat="server" />
    </ContentTemplate>
</asp:UpdatePanel>

最后一段代码位于TESTDefault.aspx.cs中

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        subInitiateFirstCombo();
    }
}

protected void subInitiateFirstCombo()
{
    for (int xI = 0; xI < 5; xI++)
    {
        ListItem itmlist = new ListItem();

        itmlist.Value = String.Format("Dep{0}", Convert.ToString(xI));
        itmlist.Text = String.Format("Department{0}", Convert.ToString(xI));
        DropDownList1.Items.Add(itmlist);
    }
    DropDownList1.SelectedIndex = 0;
    subInitiateSecondCombo();
}

protected void subInitiateSecondCombo()
{
    DropDownList2.Items.Clear();
    for (int xI = 0; xI < 5; xI++)
    {
        ListItem itmlist = new ListItem();

        itmlist.Value = String.Format("{0}_Ind{1}", (string)DropDownList1.SelectedItem.Value, Convert.ToString(xI));
        itmlist.Text = String.Format("{0}_Indicator{1}", (string)DropDownList1.SelectedItem.Text, Convert.ToString(xI));
        DropDownList2.Items.Add(itmlist);
    }
    DropDownList2.SelectedIndex = 0;
    CreateNewTable();
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    subInitiateSecondCombo();
}

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
    CreateNewTable();
}

protected void CreateNewTable()
{
    int intCellCount = DropDownList1.SelectedIndex + 2;

    pnlTest.Controls.Clear();
    updPanel.Update();
    using (Table tblTest = new Table())
    {
        tblTest.ID = (string)DropDownList2.SelectedItem.Value;
        tblTest.Attributes.Add("style", "border-collapse: collapse; margin-top: 100px;");

        for (int xI = 0; xI < 3; xI++)
        {
            using (TableRow tbrRow = new TableRow())
            {
                tbrRow.ID = String.Format("tbrRow{0}", Convert.ToString(xI));

                for (int xJ = 0; xJ < intCellCount; xJ++)
                {
                    using (TableCell tbcCell = new TableCell())
                    {
                        tbcCell.ID = String.Format("{0}_tbcCell{1}", tbrRow.ID, Convert.ToString(xJ));
                        tbcCell.Attributes.Add("style", String.Format("border: #808080 1px solid; " +
                                                                       "font-family: Verdana; " +
                                                                       "font-size: 8pt; " +
                                                                       "color: #3b5998; " +
                                                                       "text-align: center; " +
                                                                       "vertical-align: middle;"));
                        tbcCell.Width = Unit.Pixel(100);
                        tbcCell.Height = Unit.Pixel(80);
                        tbcCell.Text = String.Format("{0}", tblTest.ID);

                        tbrRow.Controls.Add(tbcCell);
                    }
                }
                tblTest.Controls.Add(tbrRow);
            }
        }
        pnlTest.Controls.Add(tblTest);
        updPanel.Update();
    }
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack)
{
subInitiateFirstCombo();
}
}
受保护的无效子InitiateFirstCombo()
{
(int x= 0;席<5;席席++)
{
ListItem itmlist=新建ListItem();
itmlist.Value=String.Format(“Dep{0}”,Convert.ToString(xI));
itmlist.Text=String.Format(“Department{0}”,Convert.ToString(xI));
DropDownList1.Items.Add(itmlist);
}
DropDownList1.SelectedIndex=0;
subInitiateSecondCombo();
}
受保护的无效子InitiateSecondCombo()
{
DropDownList2.Items.Clear();
(int x= 0;席<5;席席++)
{
ListItem itmlist=新建ListItem();
itmlist.Value=String.Format(“{0}_Ind{1}”,(String)DropDownList1.SelectedItem.Value,Convert.ToString(xI));
itmlist.Text=String.Format(“{0}\u指示符{1}”,(String)DropDownList1.SelectedItem.Text,Convert.ToString(xI));
DropDownList2.Items.Add(itmlist);
}
DropDownList2.SelectedIndex=0;
CreateNewTable();
}
受保护的void DropDownList1\u SelectedIndexChanged(对象发送方,事件参数e)
{
subInitiateSecondCombo();
}
受保护的void DropDownList2\u SelectedIndexChanged(对象发送方,事件参数e)
{
CreateNewTable();
}
受保护的void CreateNewTable()
{
int intCellCount=DropDownList1.SelectedIndex+2;
pnlTest.Controls.Clear();
updPanel.Update();
使用(Table tblTest=new Table())
{
tblTest.ID=(字符串)DropDownList2.SelectedItem.Value;
添加(“样式”,“边框折叠:折叠;页边距顶部:100px;”);
(int x= 0;席<3;席席++)
{
使用(TableRow tbrRow=new TableRow())
{
tbrRow.ID=String.Format(“tbrRow{0}”,Convert.ToString(xI));
对于(intxj=0;xJ
运行页面并查看源代码后,您将看到动态生成的表的标记。现在从下拉列表中选择另一个选项以重新生成不同的表,然后再次查看源,您将发现旧表标记仍然存在,并且没有新表的迹象(尽管它显示在屏幕上)

我发现要让它正常工作,唯一的办法就是强制执行完整的回发。还有别的办法吗?我之所以需要它,是因为一些Java脚本将要运行,并且需要获取表ID

希望我的例子是清楚的。任何提示都将不胜感激


干杯。

JavaScript应该能够访问新的HTML页面。查看源代码不能跟上JavaScript对HTML所做的更改(如AJAX回发)


如果您想动态查看这些更改,那么将允许您检查firefox中当前活动的DOM。

view source不一定显示内存中存在的页面。使用JavaScript或DOM调试工具检查是否进行了更改。