Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改ASP.NET网格视图中与字段值相关的项模板_C#_Asp.net_Gridview_Itemtemplate - Fatal编程技术网

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

C# 更改ASP.NET网格视图中与字段值相关的项模板,c#,asp.net,gridview,itemtemplate,C#,Asp.net,Gridview,Itemtemplate,我有一个网格视图来显示我的博客文章,我的文章是视频、图像和文本格式,每个都有不同的html模板: html: 正文 正文 正文 正文 如你们所知,若我想以通常的方式列出我的帖子列表 我应该添加带有项目模板的网格视图,并在其中设置模板, 但正如你看到的,我有3个记录模板, 我的表中有一个名为“PostMode”的字段,它接受3个字符串: 视频、图像、文本。 现在我的问题是,如果我的记录是 视频显示视频模板,如果是文本,则在我的博客列表中显示文本格式 TemplateField tF = ne

我有一个网格视图来显示我的博客文章,我的文章是视频、图像和文本格式,每个都有不同的html模板:

html:


正文

正文

正文

正文

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

 TemplateField tF = new TemplateField();
                    // tF.HeaderText = dr["COLUMN_NAME"].ToString();
                    tF.HeaderText = col.ToString();
                    tF.ItemTemplate = LoadTemplate("~/xxxxxxx.ascx");
                    grdVw.Columns.Add(tF);
很抱歉这么匆忙地发布


希望对你有所帮助。

请不要在句子上连写。真的很难读。@kamranSadin抱歉,周末来了!因此,如果您想根据
PostMode
值添加模板,我建议您动态创建
template字段
,或者一个简单的方法是创建三个用户控件,并根据
PostMode
值将它们作为模板字段加载。希望有帮助。嗯,好主意,但你认为我有1000篇帖子,它想在用户控件中加载所有1000篇,这正常吗?不使用gridview并在代码隐藏中创建我的网格模板怎么样?@KamranSadin这取决于你在用户控件中实现了什么,你能详细说明你的评论吗。
 TemplateField tF = new TemplateField();
                    // tF.HeaderText = dr["COLUMN_NAME"].ToString();
                    tF.HeaderText = col.ToString();
                    tF.ItemTemplate = LoadTemplate("~/xxxxxxx.ascx");
                    grdVw.Columns.Add(tF);