2010-11-12 75 views
0

爲什麼這個代碼不裏UpdatePanel控制我在網絡表單,工作的四個CheckBoxe S和一個TextBox爲什麼這個編碼不能在updatepanel中工作?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim str As String = Nothing 
     Dim id As String = Nothing 
     Dim ch As String = Nothing 
     For Each ctrl As Control In UpdatePanel1.Controls 

      If ctrl.GetType() Is GetType(CheckBox) Then 
       Dim chk As CheckBox = ctrl 
       If chk.Checked = True Then 
        If TextBox1.Text = "" Then 
         TextBox1.Text = chk.ID 
        Else 
         Dim SearchString As String = chk.ID 
         id = TextBox1.Text 
         If id.Contains(SearchString) <> -1 Then 
          TextBox1.Text = TextBox1.Text + "," + chk.ID 
         Else 

         End If 

        End If 
       Else 
        Dim SearchString As String = chk.ID 
        id = TextBox1.Text 
        If id.Contains(SearchString) <> -1 Then 

        Else 
         id = RemoveSubString(id, chk.ID) 
         TextBox1.Text = id 
        End If 

       End If 

      End If 
     Next 
    End Sub 



    Private Function RemoveSubString(ByVal stringvalue As String, ByVal stringremove As String) As String 
     Dim pos As Integer = stringvalue.IndexOf(stringremove) 
     If pos > 0 Then 
      Return stringvalue.Remove(pos - 1, stringremove.Length + 1) 
     ElseIf pos = 0 Then 
      If stringvalue.Contains(",") <> -1 Then 
       Return stringvalue.Remove(pos, stringremove.Length) 
      Else 
       Return stringvalue.Remove(pos, stringremove.Length + 1) 
      End If 

     End If 
     Return stringvalue 
    End Function 

編碼是在UpdatePanel外部的微小的工作......但更新面板裏面沒有工作...什麼它有錯嗎?

+0

除非你已經過了最後期限,否則無需大聲呼喊。所有帽子都在線喊。 DONT – 2010-11-12 05:30:02

+0

@astander OP可能不知道!更好,你可以改變它? – 2010-11-12 05:33:43

+0

@Quintin Robinson已經這麼做了。 – 2010-11-12 05:34:38

回答

0

這是什麼沒有做?在粘貼您的代碼時適用於我。 (上面會發表評論,但不能張貼照片。)

pic

+0

它不工作時,任何人檢查ckecjboxes它的ID無法在複選框檢查狀態的文本框中檢索... 您需要按鈕也做到了這一點/// – 2010-11-12 05:48:41

+0

我想當用戶檢查更新面板內的複選框其值自動調用在複選框檢查時在文本框中檢索 – 2010-11-12 05:49:35

0

你應該設置你的複選框autopostbacktrue,並分配oncheckedchanged事件是這樣的(不是page_load):

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox_CheckedChanged"></asp:CheckBox> 
     <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox_CheckedChanged"></asp:CheckBox> 
     <asp:CheckBox ID="CheckBox3" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox_CheckedChanged"></asp:CheckBox> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Protected Sub CheckBox_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged 
    'logic here 
    TextBox1.Text = CType(sender, CheckBox).ID 
End Sub 
+0

但它刷新了代碼.... – 2010-11-12 06:38:32

+0

不能正常工作................. – 2010-11-12 06:46:33

相關問題