Avatar billede dkkarpen Nybegynder
20. oktober 2003 - 10:15 Der er 5 kommentarer og
1 løsning

Replace i C#

Halløj

Jeg har uden held prøvet med nedenstående replace funktion. Den fejler med fejlkoden

Line 105:        #line hidden
Line 106:       
Line 107:        public produkt_aspx() {
Line 108:            System.Collections.ArrayList dependencies;
Line 109:            if ((ASP.produkt_aspx.__initialized == false)) {

Her er den komplette kode

<%@ Page language="c#" AutoEventWireup="true" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<script runat="server">
  void Page_Load (Object obj, EventArgs e) {
    int id = Int32.Parse(Request.Params["id"]);
    String connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\\webs\\db.mdb";
    OleDbConnection conn = new OleDbConnection(connStr);
    OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * from products where catalogid = " + id,conn);
    DataSet ds = new DataSet();

    adapter.Fill(ds);
    adapter.Dispose();
    myRepeater.DataSource = ds;
    myRepeater.DataBind();
  }

public String checkFoto(String foto)
{
    if(foto.Length > 0)
    {
        return "<img src='" + foto + "' border=0>";
    }
    else
    {
        return "";
    }
}

public static String Replace(String oText,String oFind,String
oReplace)
{
  int iPos=oText.IndexOf(oFind);
  String strReturn="";
  while(iPos!=-1)
  {
    strReturn+=oText.Substring(0,iPos) + oReplace;
    oText=oText.Substring(iPos+oFind.Length);
    iPos=oText.IndexOf(oFind);
  }
  if(oText.Length&gt;0)
    strReturn+=oText;
  return strReturn;
}
}
</script>
<HTML>
  <HEAD>
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript (ECMAScript)">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <link rel="stylesheet" type="text/css" href="style.css">
    <Script src=js/menu.js></script>
    <Script src=foldop.js></script>
</head>
<body leftmargin=12 topmargin=10 onclick="foldop()">
        <table WIDTH="100%" border=0 cellpadding=7 cellspacing=0>
        <asp:repeater id="myRepeater" runat="server">
        <ItemTemplate>
        <tr>
          <td WIDTH=350 valign=top class="text"><span class="overskrift"><%# DataBinder.Eval(Container.DataItem, "Cname") %></span>
          <br /><br /><%# replace(DataBinder.Eval(Container.DataItem, "cdescription"),Chr(13),"<br />") %></td>
          <td WIDTH=80 valign=top><br><%# checkFoto(DataBinder.Eval(Container.DataItem, "cimageurl").ToString()) %></td>
        </tr>
        </ItemTemplate>
        </asp:Repeater>
        </table>
</body>
</html>

Hvad gør jeg???
Avatar billede omen Nybegynder
20. oktober 2003 - 11:17 #1
Replace funktion er i flg. namespace: System.Text.RegularExpressions og for at Replace skal du bruge:

ReplaceSrting = Regex.Replace(ReplaceSrting, "null;", "+");

Dette eksempel vil erstatte tomme mellemrum med et +,
jeg aner ikke om du kan bruge det til noget, men sådan gør jeg når jeg skal replace noget!
Avatar billede dkkarpen Nybegynder
20. oktober 2003 - 11:26 #2
Ok - så langt så godt. Men ved du hvad jeg skal bruge i stedet for Chr(13) (linieskift i basen)?
Avatar billede omen Nybegynder
20. oktober 2003 - 11:30 #3
Jeg er ikke helt sikker på hvad du mener med linieskift i basen, da jeg kun har arbejdet med Windows Forms, men kan det være \n du tænker på?
Avatar billede dkkarpen Nybegynder
20. oktober 2003 - 11:32 #4
Perfekt
Avatar billede dkkarpen Nybegynder
20. oktober 2003 - 11:32 #5
Hov laver du lige et svar?
Avatar billede omen Nybegynder
20. oktober 2003 - 11:45 #6
I orden, glad for at kunne hjælpe :)
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
Kurser inden for grundlæggende programmering

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