custom control help

Discussion in 'ASP .Net Mobile' started by Ferruccio Barletta, Oct 21, 2007.

  1. Hi,

    I've been building a mobile custom web control using MSDN and various
    articles as a guide. The purpose of the control is to retrieve a
    document at a url and display its contents. Right now, I would be happy
    if I could get it to simply display a fixed string!

    So, I created a control:
    ------------------------
    using System;
    using System.Web.UI;
    using System.Web.UI.MobileControls;

    using System.Diagnostics;

    namespace MicroSearch.MobileControls
    {
    public class DocViewer : MobileControl
    {
    private string url_ = "";

    public String Url
    {
    get
    {
    Debug.WriteLine("get url: " + url_);
    return url_;
    }
    set
    {
    url_ = value;
    Debug.WriteLine("set url: " + url_);
    }
    }
    }
    }

    and a control adapter for html devices:
    ---------------------------------------
    using System;
    using System.Web.UI.MobileControls;
    using System.Web.UI.MobileControls.Adapters;
    using System.Diagnostics;

    namespace MicroSearch.MobileControls.Adapters
    {
    class HtmlDocViewerAdapter : HtmlControlAdapter
    {
    protected new DocViewer Control
    {
    get
    {
    Debug.WriteLine("new DocViewer");
    return (DocViewer)base.Control;
    }
    }

    public override void Render(HtmlMobileTextWriter writer)
    {
    Debug.WriteLine("Render");
    writer.Write("I am here!");
    }
    }
    }

    the control and the adapter are built into an assembly: msmobile.dll
    which is then referenced by the application:
    -------------------------------------

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Search.aspx.cs"
    Inherits="Search" %>

    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>
    <%@ Register TagPrefix="msmobile" Namespace="MicroSearch.MobileControls"
    Assembly="msmobile" %>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <body>
    <mobile:Form ID="SearchForm" Runat="server">
    <mobile:Label ID="Label" Runat="server"
    Alignment="Center">Search</mobile:Label>
    <mobile:TextBox ID="SearchText" Runat="server" Alignment="Center"
    OnTextChanged="SearchText_TextChanged"></mobile:TextBox>
    <mobile:Command ID="SearchCmd" Runat="server" Alignment="Center"
    OnClick="SearchCmd_Click">Search</mobile:Command>
    <mobile:Label ID="ErrorMsg" Runat="server" ForeColor="Red"
    Alignment="Center" BackColor="White"></mobile:Label>
    </mobile:Form>
    <mobile:Form ID="ResultsForm" Runat="server">
    <mobile:List ID="ResultList" Runat="server" DataTextField="Text"
    DataValueField="Value"></mobile:List>
    </mobile:Form>
    <mobile:Form ID="ViewForm" Runat="server">
    <mobile:Label ID="Title" Runat="server" BackColor="LightCyan"
    ForeColor="Blue"></mobile:Label>
    <msmobile:DocViewer ID="DocumentViewer" Runat="server"
    Visible="True" />
    </mobile:Form>
    </body>
    </html>

    and finally I added a device adapter entry in the app's web.config file:
    -------------------------------

    <mobileControls sessionStateHistorySize="6"
    cookielessDataDictionaryType="System.Web.Mobile.CookielessData">
    <device name="MicroSearchHtmlDeviceAdapters"
    inheritsFrom="HtmlDeviceAdapters"

    predicateClass="System.Web.UI.MobileControls.Adapters.HtmlPageAdapter"
    predicateMethod="DeviceQualifies"

    pageAdapter="System.Web.UI.MobileControls.Adapters.HtmlPageAdapter">

    <control name="MicroSearch.MobileControls.DocViewer,msmobile"

    adapter="MicroSearch.MobileControls.Adapters.HtmlDocViewerAdapter,msmobile"/>
    </device>
    </mobileControls>


    Everything builds just fine, then I run it and get:
    -----------------------------

    Server Error in '/MobileWS' Application.
    --------------------------------------------------------------------------------

    MicroSearch.MobileControls.Adapters.HtmlDocViewerAdapter..ctor()
    Description: An unhandled exception occurred during the execution of the
    current web request. Please review the stack trace for more information
    about the error and where it originated in the code.

    Exception Details: System.MethodAccessException:
    MicroSearch.MobileControls.Adapters.HtmlDocViewerAdapter..ctor()

    Source Error:


    [No relevant source lines]


    Source File: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary
    ASP.NET Files\mobilews\baf280a3\14ea269b\App_Web_gn20izer.0.cs Line: 0

    Stack Trace:


    [MethodAccessException:
    MicroSearch.MobileControls.Adapters.HtmlDocViewerAdapter..ctor()]
    T_6e0ac78c_f36d_4b8f_86bc_f9657d47809a.CreateInstance() +0

    System.Web.UI.MobileControls.IndividualDeviceConfig.NewControlAdapter(Type
    originalControlType) +12

    System.Web.UI.MobileControls.MobilePage.GetControlAdapter(MobileControl
    control) +38
    System.Web.UI.MobileControls.MobileControl.get_Adapter() +38
    System.Web.UI.MobileControls.MobileControl.OnUnload(EventArgs e) +22
    System.Web.UI.Control.UnloadRecursive(Boolean dispose) +267
    System.Web.UI.Control.UnloadRecursive(Boolean dispose) +204
    System.Web.UI.Control.UnloadRecursive(Boolean dispose) +204
    System.Web.UI.Page.UnloadRecursive(Boolean dispose) +20
    System.Web.UI.Page.ProcessRequestCleanup() +40
    System.Web.UI.Page.ProcessRequest(Boolean
    includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213
    System.Web.UI.Page.ProcessRequest() +86
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49
    ASP.search_aspx.ProcessRequest(HttpContext context) in
    c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
    Files\mobilews\baf280a3\14ea269b\App_Web_gn20izer.0.cs:0

    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
    +303
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
    completedSynchronously) +64




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



    Any ideas as to what's going on?

    Thanks,
    FGB
    Ferruccio Barletta, Oct 21, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    0
    Views:
    707
  2. Jonah Olsson
    Replies:
    1
    Views:
    563
    Scott Allen
    Apr 5, 2005
  3. J R M
    Replies:
    2
    Views:
    419
    Charlie@CBFC
    Jun 1, 2006
  4. Matt Sokol
    Replies:
    2
    Views:
    366
    Theo Tillotson
    Aug 7, 2003
  5. Jonah Olsson
    Replies:
    2
    Views:
    188
    Jonah Olsson
    Apr 5, 2005
Loading...

Share This Page