Ajax,并在运行时创建动态控制 [英] ajax and dynamic control is created at run time

查看:76
本文介绍了Ajax,并在运行时创建动态控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您可以更正错误吗?

解析器错误消息:类型"System.Web.UI.UpdatePanel"没有名为"table"的公共属性.

我有以下代码

Can you correct the error

Parser Error Message: Type ''System.Web.UI.UpdatePanel'' does not have a public property named ''table''.

I have following code

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="gfln1.WebForm1" %>

<!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>
     <link href="css/styles.css" rel="stylesheet" type="text/css"/>
    <script type="text/javascript" runat=server>

            </script>
</head>
<body>
    <form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="RadioButtonList1" EventName="SelectedIndexChanged" />
</Triggers>

<ContentTemplate>
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
<asp:ListItem Text="Blue" Value="blue"></asp:ListItem>
<asp:ListItem Text="Red" Value="red"></asp:ListItem>
<asp:ListItem Text="White" Value="white"></asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>

<div class="right_txt_space_accm">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="RadioButtonList2" EventName="SelectedIndexChanged" />
</Triggers>

                                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                              <tr>
                                                <td width="40%" align="left"><strong>Number of
                                                attendees:</strong></td>
                                                <td width="60%" align="left"><strong>

                                                <ContentTemplate>
                                               <asp:RadioButtonList EnableViewState=true  ID="RadioButtonList2" CellSpacing=13  RepeatDirection=Horizontal  runat="server" RepeatColumns=4 AutoPostBack="true">
                                                        <asp:ListItem>1</asp:ListItem>
                                                        <asp:ListItem>2</asp:ListItem>
                                                        <asp:ListItem>3</asp:ListItem>
                                                        <asp:ListItem>4</asp:ListItem>
                                                        <asp:ListItem>5</asp:ListItem>
                                                        <asp:ListItem>6</asp:ListItem>
                                                        <asp:ListItem>7</asp:ListItem>

                                                    </asp:RadioButtonList>   </strong></td>
                                                    </ContentTemplate>
                                </asp:UpdatePanel>


                                              </tr>
                                            </table>
                                        </div>
    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

</form>
</body>
</html>







Public Partial Class WebForm1
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub
    Protected Sub RadioButtonList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        If RadioButtonList1.SelectedValue = "blue" Then
            TextBox1.BackColor = System.Drawing.Color.Blue
            TextBox1.ForeColor = System.Drawing.Color.White
        ElseIf RadioButtonList1.SelectedValue = "red" Then
            TextBox1.BackColor = System.Drawing.Color.Red
            TextBox1.ForeColor = System.Drawing.Color.Black
        ElseIf RadioButtonList1.SelectedValue = "white" Then
            TextBox1.BackColor = System.Drawing.Color.White
            TextBox1.ForeColor = System.Drawing.Color.Black
        End If
    End Sub

    Protected Sub RadioButtonList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButtonList2.SelectedIndexChanged
        Response.Write(RadioButtonList2.SelectedValue)
        Dim index As Integer

        For index = 1 To Me.RadioButtonList2.SelectedValue
            Dim newdiv As New HtmlGenericControl("div")
            newdiv.EnableViewState = True
            Dim ht As New HtmlTable()
            ht.ID = "mytable" & index
            ht.EnableViewState = True

            ht.Width = "100%"
            ht.CellSpacing = "0"
            ht.CellPadding = "0"
            ht.Border = 0
            Dim htr, htr1, htr2 As New HtmlTableRow()
            Dim cell, htc, htc1, htc2, htc3, htc4, htc5, htc6, htc7,    htc8 As New HtmlTableCell()
            Dim name_tb As New TextBox()
            Dim sal_ddl As New DropDownList

            'validator
            Dim name_req As New RequiredFieldValidator
            Dim tel_req As New RequiredFieldValidator
            Dim email_req As New RequiredFieldValidator

            name_tb.ID = "name_tb" & index
            sal_ddl.ID = "sal_ddl" & index
            name_req.ID = "name_req" & index
            tel_req.ID = "tel_req" & index
            email_req.ID = "email_req" & index
            name_tb.EnableViewState = True
            sal_ddl.EnableViewState = True
            tel_req.EnableViewState = True

            sal_ddl.Items.Add("MR")
            sal_ddl.Items.Add("Ms")
            sal_ddl.Items.Add("Mrs")

            Dim Tel_tb1 As New TextBox
            Tel_tb1.ID = "Tel_tb1" & index
            Tel_tb1.EnableViewState = True
            name_tb.TextMode = TextBoxMode.SingleLine

            Dim email_tb1 As New TextBox
            email_tb1.ID = "email_tb1" & index
            email_tb1.TextMode = TextBoxMode.SingleLine

            htc.InnerText = "Name : "
            htc.Width = "20%"
            htc.Align = "Left"
            htc1.Controls.Add(sal_ddl)
            htc1.Width = "10%"
            htc2.Width = "70%"
            htc2.Align = "left"
            htc2.Controls.Add(name_tb)
            htc2.Controls.Add(name_req)
            htr.Controls.Add(htc)
            htr.Controls.Add(htc1)
            htr.Controls.Add(htc2)
            ht.Controls.Add(htr)
            name_req.ControlToValidate = "name_tb" & index
            name_req.Display = ValidatorDisplay.Dynamic
            name_req.ErrorMessage = ("Please Enter name of attendenes")

            'make 2nd  row
            htc3.InnerText = "Telephone : "
            htc3.Width = "20%"
            htc3.Align = "Left"

            htc4.InnerHtml = "<strong></strong>"
            htc4.Width = "10%"
            htc5.Width = "70%"
            htc5.Align = "left"
            htc5.Controls.Add(Tel_tb1)
            htc5.Controls.Add(tel_req)
            htr1.Controls.Add(htc3)
            htr1.Controls.Add(htc4)
            htr1.Controls.Add(htc5)
            ht.Controls.Add(htr1)
            tel_req.ControlToValidate = "Tel_tb1" & index
            tel_req.Display = ValidatorDisplay.Dynamic
            tel_req.ErrorMessage = ("Please Enter Phone")

            'make 3rd  row
            htc6.InnerText = "Email : "
            htc6.Width = "20%"
            htc6.Align = "Left"


            htc7.InnerHtml = "<strong></strong>"
            htc7.Width = "10%"

            htc8.Width = "70%"
            htc8.Align = "left"
            htc8.Controls.Add(email_tb1)
            htc8.Controls.Add(email_req)
            htr2.Controls.Add(htc6)
            htr2.Controls.Add(htc7)
            htr2.Controls.Add(htc8)
            ht.Controls.Add(htr2)
            email_req.ControlToValidate = "email_tb1" & index
            email_req.Display = ValidatorDisplay.Dynamic
            email_req.ErrorMessage = ("Please Enter Email")

            'Add  a blank row
            cell.ColSpan = 3
            cell.InnerHtml = "<br/>"
            Dim row As New HtmlTableRow
            row.Cells.Add(cell)
            ht.Rows.Add(row)
            newdiv.Controls.Add(ht)
            newdiv.Attributes.Add("table", "ht")
            newdiv.Attributes.Add("Style", "border-bottom :#ccc solid 0px")
            newdiv.Attributes.Add("style", "height:23px")
            newdiv.Attributes.Add("style", "padding-left:20px")

            Me.PlaceHolder1.Controls.Add(newdiv)
            PlaceHolder1.EnableViewState = True

        Next
    End Sub
End Class

推荐答案

是的,这是一个错误

yes here is an error

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: Type 'System.Web.UI.UpdatePanel' does not have a public property named 'table'.

Source Error:


Line 37: </Triggers>
Line 38:
Line 39:                                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
Line 40:                                              <tr>
Line 41:                                                <td width="40%" align="left"><strong>Number of


Source File: /WebForm1.aspx    Line: 39


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927


//Replace your <div class="right_txt_space_accm"> with below.





<div class="right_txt_space_accm">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="RadioButtonList2" EventName="SelectedIndexChanged" />
</Triggers><ContentTemplate>
                                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                              <tr>
                                                <td width="40%" align="left"><strong>Number of
                                                attendees:</strong></td>
                                                <td width="60%" align="left"><strong>

                                               <asp:RadioButtonList EnableViewState=true  ID="RadioButtonList2" CellSpacing=13  RepeatDirection=Horizontal  runat="server" RepeatColumns=4 AutoPostBack="true">
                                                        <asp:ListItem>1</asp:ListItem>
                                                        <asp:ListItem>2</asp:ListItem>
                                                        <asp:ListItem>3</asp:ListItem>
                                                        <asp:ListItem>4</asp:ListItem>
                                                        <asp:ListItem>5</asp:ListItem>
                                                        <asp:ListItem>6</asp:ListItem>
                                                        <asp:ListItem>7</asp:ListItem>
                                                    </asp:RadioButtonList>   </strong></td>

                                              </tr>
                                            </table></ContentTemplate>
                                </asp:UpdatePanel>
                                        </div>


我更正了大多数无法创建div,文本框等动态控件的代码,但主要的问题是如何也使用ajax来控制回发即时消息.so我的问题是如何在后面的提交按钮代码上获取div

i corrected most of the code which had prolem to created dynamic control like div,textboxes etc ete ,but the main problme is that how to get control on postback i m using ajax too.so my question is that how to get div on submitt button code behind

Protected Sub RadioButtonList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButtonList1.SelectedIndexChanged


        Dim index As Integer

        For index = 1 To RadioButtonList1.SelectedValue

            Dim newdiv As New HtmlGenericControl("div")
            newdiv.ID = "mydiv" & index
            'newdiv.Attributes.Add("id", "mydiv")

            newdiv.EnableViewState = True
            Dim ht As New HtmlTable()
            ht.ID = "mytable" & index.ToString()
            ht.EnableViewState = True

            ht.Width = "100%"
            ht.CellSpacing = "0"
            ht.CellPadding = "0"
            ht.Border = 0


            Dim htr, htr1, htr2 As New HtmlTableRow()
            Dim cell, htc, htc1, htc2, htc3, htc4, htc5, htc6, htc7, htc8 As New HtmlTableCell()

            Dim name_tb As New TextBox()
            Dim sal_ddl As New DropDownList

            'validator
            Dim name_req As New RequiredFieldValidator
            Dim tel_req As New RequiredFieldValidator
            Dim email_req As New RequiredFieldValidator


            name_tb.ID = "name_tb" & index
            sal_ddl.ID = "sal_ddl" & index
            name_req.ID = "name_req" & index
            tel_req.ID = "tel_req" & index
            email_req.ID = "email_req" & index
            name_tb.EnableViewState = True
            sal_ddl.EnableViewState = True
            tel_req.EnableViewState = True

            sal_ddl.Items.Add("MR")
            sal_ddl.Items.Add("Ms")
            sal_ddl.Items.Add("Mrs")



            Dim Tel_tb1 As New TextBox
            Tel_tb1.ID = "Tel_tb1" & index
            Tel_tb1.EnableViewState = True
            name_tb.TextMode = TextBoxMode.SingleLine

            Dim email_tb1 As New TextBox
            email_tb1.ID = "email_tb1" & index
            email_tb1.TextMode = TextBoxMode.SingleLine

            htc.InnerText = "Name : "
            htc.Width = "20%"
            htc.Align = "Left"


            htc1.Controls.Add(sal_ddl)
            htc1.Width = "10%"

            htc2.Width = "70%"
            htc2.Align = "left"



            htc2.Controls.Add(name_tb)
            htc2.Controls.Add(name_req)
            htr.Controls.Add(htc)
            htr.Controls.Add(htc1)
            htr.Controls.Add(htc2)


            ht.Controls.Add(htr)
            name_req.ControlToValidate = "name_tb" & index
            name_req.Display = ValidatorDisplay.Dynamic
            name_req.ErrorMessage = ("Please Enter name of attendenes")


            'make 2nd  row

            htc3.InnerText = "Telephone : "
            htc3.Width = "20%"
            htc3.Align = "Left"


            htc4.InnerHtml = "<strong></strong>"
            htc4.Width = "10%"

            htc5.Width = "70%"
            htc5.Align = "left"

            htc5.Controls.Add(Tel_tb1)
            htc5.Controls.Add(tel_req)
            htr1.Controls.Add(htc3)
            htr1.Controls.Add(htc4)
            htr1.Controls.Add(htc5)


            ht.Controls.Add(htr1)

            tel_req.ControlToValidate = "Tel_tb1" & index
            tel_req.Display = ValidatorDisplay.Dynamic
            tel_req.ErrorMessage = ("Please Enter Phone")


            'make 3rd  row

            htc6.InnerText = "Email : "
            htc6.Width = "20%"
            htc6.Align = "Left"


            htc7.InnerHtml = "<strong></strong>"
            htc7.Width = "10%"

            htc8.Width = "70%"
            htc8.Align = "left"

            htc8.Controls.Add(email_tb1)
            htc8.Controls.Add(email_req)
            htr2.Controls.Add(htc6)
            htr2.Controls.Add(htc7)
            htr2.Controls.Add(htc8)

            ht.Controls.Add(htr2)

            email_req.ControlToValidate = "email_tb1" & index
            email_req.Display = ValidatorDisplay.Dynamic
            email_req.ErrorMessage = ("Please Enter Email")

            'Add  a blank rows

            cell.ColSpan = 3
            cell.InnerHtml = "<br/>"
            Dim row As New HtmlTableRow
            row.Cells.Add(cell)
            ht.Rows.Add(row)



            newdiv.Controls.Add(ht)

            newdiv.Attributes.Add("table", "ht")



            newdiv.Attributes.Add("Style", "border-bottom :#ccc solid 0px")
            newdiv.Attributes.Add("style", "height:23px")
            newdiv.Attributes.Add("style", "padding-left:20px")


            newdiv.EnableViewState = True
            ' ViewState("control") = newdiv
            Me.PlaceHolder1.Controls.Add(newdiv)
            PlaceHolder1.EnableViewState = True


        Next


        'End Sub


    End Sub





<pre lang="vb">Protected Sub btn_submitt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_submitt.Click


Dim index As Integer
           'MsgBox(Me.RadioButtonList1.SelectedItem.Value)
           For index = 1 To RadioButtonList1.SelectedValue
               Dim plholder As PlaceHolder = DirectCast(FindControl("PlaceHolder1"), PlaceHolder)
               'Dim name_tb As TextBox = DirectCast(plholder.FindControl("name_tb" & index.ToString()), TextBox)

               'Dim newdiv As HtmlGenericControl = DirectCast(plholder.FindControl("mydiv"), HtmlGenericControl)
               Dim newdiv As HtmlGenericControl = ViewState("newdiv")

               If newdiv Is Nothing Then
                   Response.Write("Nothing")
               End If



下一个
结束子


any help ,keep posting me



next
end sub


any help ,keep posting me


这篇关于Ajax,并在运行时创建动态控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆