none
Methode im Webcontrol liefert keinen Wert zurück RRS feed

  • Frage

  • Ich habe ein Webcontol gebaut in dem ich über eine Methode auf einen Wert zugreife.

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="InfoControl.ascx.cs" Inherits="App_Include_Controls_PreistippControl" %>
    
    <table>
    
        <tr>
    
            <td>
    
                <img src="~/App_Themes/Master/images/icon/tipp.png" runat="server" width="23" height="23" alt="" />
    
            </td>
    
            <td style="padding-left: 5px;">
    
                <strong>Info:</strong>&nbsp;&nbsp;
    
                <a href="<%# this.Url %>"><%# this.Text %></a>
    
            </td>
    
        </tr>
    
    </table>
    
    

    Die URL und der Text wird über diese Methoden gesetzt.
    protected void Page_Load(object sender, EventArgs e)
    
    {
    
        this.Text = oDataTable.Rows[0]["ueberschrift"].ToString();
    
        this.Url = "~/News/Aktuelles/d_default.aspx?NewsId=" + oDataTable.Rows[0]["id"].ToString();
    
    }
    
    
    
        protected string sUrl;
    
        public string Url
    
        {
    
            get { return this.sUrl; }
    
            set { this.sUrl = value; }
    
        }
    
    
    
        protected string sText;
    
        public string Text
    
        {
    
            get { return this.sText; }
    
            set { this.sText = value; }
    
        }
    
    
    
    

    Beim debuggen setzt er auch die Werte z.B. set { this.sText = value; }
    nur die Getter z.B.  get { return this.sText; } geht er garnicht erst rein ...

    Was mach ich falsch?

    Samstag, 19. September 2009 12:50

Antworten

  • Hallo Bernd,
    <a href="<%# this.Url %>"
    
    
    Beim debuggen setzt er auch die Werte z.B. set { this.sText = value; }
    nur die Getter z.B.  get { return this.sText; } geht er garnicht erst rein ...
    wenn Du ein DataBinding Konstrukt verwendest, solltest Du dann irgendwo auch mal Page.DataBind() bzw. this.DataBind() aufrufen. In deinem Fall entweder am Ende von Page_Load oder halt bspw. in Page_PreRender.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 19. September 2009 14:56
    Moderator

Alle Antworten

  • Hallo Bernd,
    <a href="<%# this.Url %>"
    
    
    Beim debuggen setzt er auch die Werte z.B. set { this.sText = value; }
    nur die Getter z.B.  get { return this.sText; } geht er garnicht erst rein ...
    wenn Du ein DataBinding Konstrukt verwendest, solltest Du dann irgendwo auch mal Page.DataBind() bzw. this.DataBind() aufrufen. In deinem Fall entweder am Ende von Page_Load oder halt bspw. in Page_PreRender.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 19. September 2009 14:56
    Moderator
  • Hallo Bernd Hass,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Dienstag, 3. November 2009 17:37
    Moderator