在ASP.NET网格视图中更改与字段值相关的项模板

时间:2013-12-06 15:54:10

标签: c# asp.net gridview itemtemplate

我有一个网格视图来显示我的博客帖子,我的帖子是视频,图片,文本格式,每个都有与另一个不同的HTML模板:

HTML:

<!-- Image Format -->
        <div class="post format-image box"> 
            <div class="frame">
                <a href="post.html">
                    <img src="Templates/images/art/post1.jpg" alt="" />
                </a>
            </div>
            <h2 class="title"><a href="post.html">Morning Glory</a></h2>
            <p>text</p>
            <div class="details">
                <span class="icon-image"><a href="#">September 26, 2012</a></span>
                <span class="likes"><a href="#" class="likeThis">44</a></span>
                <span class="comments"><a href="#">3</a></span>
            </div>
        </div>

<!-- Video Format -->
        <div class="post format-video box"> 
            <div class="video frame">
            <iframe src="http://player.vimeo.com/video/40558553?title=0&byline=0&portrait=0" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
            </div>
            <h2 class="title"><a href="post.html">Fragments of Iceland</a></h2>
            <p>text</p>

            <div class="details">
                <span class="icon-video"><a href="#">September 13, 2012</a></span>
                <span class="likes"><a href="#" class="likeThis">18</a></span>
                <span class="comments"><a href="#">1</a></span>
            </div>

        </div>


<!-- Text Format -->
        <div class="post format-standard box"> 

            <h2 class="title"><a href="post.html">The Meridian Sun</a></h2>
            <p>text</p>
    <p>text</p>

            <div class="details">
                <span class="icon-standard"><a href="#">August 13, 2012</a></span>
                <span class="likes"><a href="#" class="likeThis">11</a></span>
                <span class="comments"><a href="#">0</a></span>
            </div>

        </div>

如你所知,我是否希望以通常的方式列出我的帖子 我应该添加项目模板的网格视图并在其中设置我的模板, 但正如你所看到的,我的记录有3个模板, 我在我的表中有一个名为'PostMode'的字段,它接受3个字符串: 视频,图像,文字。 现在我的问题是我如何在项目模板中使用3个模板,如果我的记录是 视频显示视频模板,如果是文本显示文本格式在我的博客列表中。

1 个答案:

答案 0 :(得分:0)

 TemplateField tF = new TemplateField();
                    // tF.HeaderText = dr["COLUMN_NAME"].ToString();
                    tF.HeaderText = col.ToString();
                    tF.ItemTemplate = LoadTemplate("~/xxxxxxx.ascx");
                    grdVw.Columns.Add(tF);

很抱歉发布这么匆忙,

希望它有所帮助。