【问题标题】:change item template in ASP.NET grid view related to fields value更改与字段值相关的 ASP.NET 网格视图中的项目模板
【发布时间】:2013-12-06 15:54:09
【问题描述】:

我有一个网格视图来显示我的博客文章,我的文章是视频、图像、文本格式,每个都有不同的 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 个模板,如果我的记录是 视频显示视频模板,如果是我的博客列表中的文本显示文本格式。

【问题讨论】:

  • 请不要写连续句。真的很难读。
  • @kamranSadin 对不起,周末在这里!因此,您想根据PostMode 值添加模板,我建议您动态创建Template-Field,或者一个简单的方法是创建三个用户控件并根据您的PostMode 值将它们加载为模板字段。希望对您有所帮助。

标签: c# asp.net gridview itemtemplate


【解决方案1】:
 TemplateField tF = new TemplateField();
                    // tF.HeaderText = dr["COLUMN_NAME"].ToString();
                    tF.HeaderText = col.ToString();
                    tF.ItemTemplate = LoadTemplate("~/xxxxxxx.ascx");
                    grdVw.Columns.Add(tF);

抱歉这么着急发帖,

希望对您有所帮助。

【讨论】:

  • hmmm 好主意,但你认为我有 1000 个帖子,它想在用户控件中加载所有 1000 个帖子,这正常吗?不使用 gridview 并在后面的代码中创建我的网格模板怎么样?
  • @KamranSadin 这取决于您在用户控件中实现的内容,您能否详细说明您的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 1970-01-01
相关资源
最近更新 更多