none
Why is it that Microsoft Expression 4 can't control the style of the asp menu control RRS feed

  • Question

  • It appears that the asp menu control in expression does not work or display properly in IE8.

    dynamicmenustyle property cannot be used in xhtml - expression won't allow the property to be used.

    It's been recommended that I should just toss the asp menu system since it's incompatible with IE8 and do it another way ?

    Saturday, September 11, 2010 5:26 PM

Answers

  • First, Asp is not Asp.Net.  I assume you mean Asp.net.

    You talk about controlling the style of the menu, yet you talk about not displaying in IE8.  Two different things.

    I assume you mean the asp.net menu does not display the submenus in IE8.  This is a known problem with the asp.net menu, and there is a simple fix.  (Whoever told you you can't use it is simply wrong.)

    For IE8 read this thread: http://social.expression.microsoft.com/Forums/en-US/web/thread/8374507a-e4fc-4162-9048-535420b2edeb

    Make sure you are applying the style to DynamicMenuItemStyle rather than DynamicMenuStyle - a mistake many people make.

    Now, for Safari and Chrome, you need to take another additional step:

    For Safari and Chrome, you need a workaround to get the asp.net menu dropdown to work. A browser app file will do it:

    Create a directory called App_Browsers in the root of your site.

    Create a text file containing:

    <browsers>
      <browser refID="Safari1Plus">
        <controlAdapters>
          <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
        </controlAdapters>
      </browser>
    </browsers>

    and rename it something like "safari.browser", and put it in that directory.  (This file works for Chrome, too.)

    And, finally and importantly, delete App_Browsers\_vti_cnf, which is created when you publish with EW, from the host, or there will be an error:

    "Parser Error Message: Data at the root level is invalid. Line 1, position 1."

    (...It's reading every file in that directory, and gets confused by the vti file.)

    • Proposed as answer by KathyW2 Saturday, September 11, 2010 7:07 PM
    • Marked as answer by Lori DirksModerator Sunday, September 12, 2010 3:39 AM
    Saturday, September 11, 2010 7:07 PM

All replies

  • Neither Expression Web nor its development server support ASP, so yeah, you're probably better off adopting a different approach.

    cheers,
    scott


    C'mon, folks. This isn't rocket science, nor neurosurgery. It's "Expression" (singular) "Web" (singular), in that order, followed by a version numeral if you wish to be specific. It is often abbreviated "EW." It is not "Web Expression," "Expressions Web," "Web Expressions," or plain "Expression" or "Expressions." Not using the correct name indicates either ignorance or laziness. Most folks would rather avoid the appearance of either.
    Saturday, September 11, 2010 5:36 PM
  • are you telling me that microsoft doesn't support asp.net 2,3 or 4 ?

     

    Saturday, September 11, 2010 6:29 PM
  • He's telling you it doesn't support ASP.  ASP and ASP.NET are two totally different animals and your original post said ASP.

    --
    Chris Hanscom - Microsoft MVP
    On Facebook | On Twitter | Resource Center | Veign's Blog | Web Development Help

    Get a Complete Website Analysis by Veign
    Saturday, September 11, 2010 6:37 PM
  • First, Asp is not Asp.Net.  I assume you mean Asp.net.

    You talk about controlling the style of the menu, yet you talk about not displaying in IE8.  Two different things.

    I assume you mean the asp.net menu does not display the submenus in IE8.  This is a known problem with the asp.net menu, and there is a simple fix.  (Whoever told you you can't use it is simply wrong.)

    For IE8 read this thread: http://social.expression.microsoft.com/Forums/en-US/web/thread/8374507a-e4fc-4162-9048-535420b2edeb

    Make sure you are applying the style to DynamicMenuItemStyle rather than DynamicMenuStyle - a mistake many people make.

    Now, for Safari and Chrome, you need to take another additional step:

    For Safari and Chrome, you need a workaround to get the asp.net menu dropdown to work. A browser app file will do it:

    Create a directory called App_Browsers in the root of your site.

    Create a text file containing:

    <browsers>
      <browser refID="Safari1Plus">
        <controlAdapters>
          <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
        </controlAdapters>
      </browser>
    </browsers>

    and rename it something like "safari.browser", and put it in that directory.  (This file works for Chrome, too.)

    And, finally and importantly, delete App_Browsers\_vti_cnf, which is created when you publish with EW, from the host, or there will be an error:

    "Parser Error Message: Data at the root level is invalid. Line 1, position 1."

    (...It's reading every file in that directory, and gets confused by the vti file.)

    • Proposed as answer by KathyW2 Saturday, September 11, 2010 7:07 PM
    • Marked as answer by Lori DirksModerator Sunday, September 12, 2010 3:39 AM
    Saturday, September 11, 2010 7:07 PM
  • thanks

    appreciate the help.

    Saturday, September 11, 2010 7:10 PM
  • Bob,

    Your answer was not the answer, mine was.  You marked the wrong post.  The post(s) marked as answers show up on top in some views of the forum, making it easier for people who are searching for the solution to a problem.

    Saturday, September 11, 2010 7:20 PM
  • I was only explaining why Scott posted what he did.  You are way out of line....


    --
    Chris Hanscom - Microsoft MVP
    On Facebook | On Twitter | Resource Center | Veign's Blog | Web Development Help

    Get a Complete Website Analysis by Veign
    Saturday, September 11, 2010 7:49 PM