آسيا والمحيط الهادئ: SiteMapPath مع الصور الديناميكية

StackOverflow https://stackoverflow.com/questions/198717

سؤال

وطيب، لذلك أنا بناء فتات الخبز واعتمادا على قيمة التفصيلي سوف يكون صورة المفرق. حتى "منزل" سيكون لها صورة واحدة و "بحث" سيكون آخر.

وأنا أعلم أنني يمكن أن تفعل ذلك برمجيا (على الأقل أفترض)، ولكن ليس هناك أسهل طريقة للقيام بذلك؟ يمكنني ربط الصورة لعقدة على أساس قيمة العقدة؟ يمكنني أن أفعل ذلك مع PathSeparatorTemplate؟

وشكرا لكم.

هل كانت مفيدة؟

المحلول

وأرى أنك قد قبلت بالفعل جوابا، ولكن اعتقد ان بعض التعليمات البرمجية تساعد، حتى هنا هو بعض:

Site1.Master


    <asp:SiteMapPath ID="SiteMapPath1" Runat="server" OnItemDataBound="Item_Bound">
        <PathSeparatorTemplate>
            <asp:Image ID="SepImage" runat="server" ImageUrl="/images"/>
        </PathSeparatorTemplate>
    </asp:SiteMapPath>

Site1.Master.cs


    private string lastItemKey = "";
    public void Item_Bound(Object sender, SiteMapNodeItemEventArgs e)
    {
        if (e.Item.ItemType == SiteMapNodeItemType.PathSeparator)
        {
            string imageUrl = ((Image) e.Item.Controls[1]).ImageUrl;
            imageUrl += lastItemKey + ".png";
            ((Image) e.Item.Controls[1]).ImageUrl = imageUrl;
        }
        else
        {
            lastItemKey = e.Item.SiteMapNode.Key;
        }
    }

وبعد ذلك لدي دليل /images تحتوي على صورة لكل من لKey من SiteMapNodes. وبعبارة أخرى: هذا الرمز سيؤدي إلى الصورة التي يتم عرضها، بعد كل من العقد المسار، تعتمد على مفتاح العقدة قبل أن

.

وآمل أن يساعد هذا شخص.

نصائح أخرى

ويمكنك وضع

<asp:Image ... />

وفي PathSerparatorTemplate ولكن لا يزال لديك لتعيين رابط صورة من التعليمات البرمجية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top