Avatar billede humlebien Novice
14. november 2005 - 13:12 Der er 3 kommentarer og
2 løsninger

Oversættelse af kode fra C# til VB

Er der en venlig sjæl, der vil oversætte nedenstående kode til VB

Det er taget herfra: http://www.eggheadcafe.com/articles/20050609.asp


using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;

namespace WhichControlPostedBack
{
public class Global : System.Web.HttpApplication
{
  private System.ComponentModel.IContainer components = null;

  public Global()
  {
  InitializeComponent();
  }
 
public static System.Web.UI.Control GetPostBackControl(System.Web.UI.Page page)
{
  Control control = null;
  string ctrlname = page.Request.Params["__EVENTTARGET"];
  if (ctrlname != null && ctrlname != String.Empty)
  {
  control = page.FindControl(ctrlname);
  }
  // if __EVENTTARGET is null, the control is a button type and we need to
  // iterate over the form collection to find it
  else
  {
  string ctrlStr=String.Empty;
  Control c=null;
  foreach (string ctl in page.Request.Form)
  {
    // handle ImageButton controls ...
    if (ctl.EndsWith(".x") || ctl.EndsWith(".y"))
    {
    ctrlStr = ctl.Substring(0,ctl.Length-2);
    c= page.FindControl(ctrlStr);
    }
    else
    {
    c = page.FindControl(ctl);
    }
          if (c is System.Web.UI.WebControls.Button ||
                  c is System.Web.UI.WebControls.ImageButton)
    {
    control = c;
    break;
    }
  }
  }
  return control;

 
  private void InitializeComponent()
  {   
  this.components = new System.ComponentModel.Container();
  }
 
}
}
Avatar billede snepnet Nybegynder
14. november 2005 - 13:13 #1
Avatar billede snepnet Nybegynder
14. november 2005 - 13:16 #2
Den metode du reelt skal oversætte og indsætte i din "vb global.asax.vb" giver noget i denne stil med oversætteren

Public Shared Function GetPostBackControl(ByVal page As System.Web.UI.Page) As System.Web.UI.Control
  Dim control As Control =  Nothing
  Dim ctrlname As String =  page.Request.Params("__EVENTTARGET")
  If ctrlname <> Nothing And ctrlname <> String.Empty Then
  control = page.FindControl(ctrlname)
  Else
  Dim ctrlStr As String = String.Empty
  Dim c As Control = Nothing
  Dim ctl As String
  For Each ctl In page.Request.Form
    ' handle ImageButton controls ...
    If ctl.EndsWith(".x") Or ctl.EndsWith(".y") Then
    ctrlStr = ctl.Substring(0,ctl.Length-2)
    c= page.FindControl(ctrlStr)
    Else
    c = page.FindControl(ctl)
    End If
          If TypeOf if(c Is System.Web.UI.WebControls.Button Or Then
    control = c
    Exit For
          End If
  Next
  End If
  Return control
End Function

mvh
Avatar billede humlebien Novice
14. november 2005 - 14:04 #3
Nej, den havde jeg ikke prøvet.... det har jeg nu :o)

Vil du sende et svar, så du kan få dine velfortjente point!
Avatar billede forcedesigner Nybegynder
14. november 2005 - 14:23 #4
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Namespace WhichControlPostedBack

Public Class Global
Inherits System.Web.HttpApplication
  Private components As System.ComponentModel.IContainer = Nothing

  Public Sub New()
    InitializeComponent
  End Sub

  Public Shared Function GetPostBackControl(ByVal page As System.Web.UI.Page) As System.Web.UI.Control
    Dim control As Control = Nothing
    Dim ctrlname As String = page.Request.Params("__EVENTTARGET")
    If Not (ctrlname Is Nothing) AndAlso Not (ctrlname = String.Empty) Then
      control = page.FindControl(ctrlname)
    Else
      Dim ctrlStr As String = String.Empty
      Dim c As Control = Nothing
      For Each ctl As String In page.Request.Form
        If ctl.EndsWith(".x") OrElse ctl.EndsWith(".y") Then
          ctrlStr = ctl.Substring(0, ctl.Length - 2)
          c = page.FindControl(ctrlStr)
        Else
          c = page.FindControl(ctl)
        End If
        If TypeOf c Is System.Web.UI.WebControls.Button OrElse TypeOf c Is System.Web.UI.WebControls.ImageButton Then
          control = c
          ' break
        End If
      Next
    End If
    Return control
  End Function

  Private Sub InitializeComponent()
    Me.components = New System.ComponentModel.Container
  End Sub
End Class
End Namespace
Avatar billede snepnet Nybegynder
14. november 2005 - 14:53 #5
jeps - du får et svar her, men nu har forcedesigner jo også sendt et bud :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester