问题标签 [templatefield]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 为什么我的 GridView 间歇性地不显示我的 .net TemplateFields
我的 GridView 过得很糟糕。我一直在用细齿梳检查我的代码,但找不到问题。
我有一个七列的 ASP.net GridView;数据来自 SQL。两列包含用户可以单击以删除或修改数据库中的条目的 javascript。其他五个字段包含数据库中人员的姓名、电话号码和电子邮件地址。
我的四个字段是 ASP.net TemplateFields。
当页面加载时,一切都正确显示。但是,如果用户单击 JavaScript 链接,单击以按任何字段对 GridView 进行排序,或执行任何其他导致回发的操作,则生成的页面可能不会显示我的 TemplateFields 的内容;他们都是空白的。
只是为了让您可以看到我正在使用的内容,我有一个“名称”列,其定义如下:
如果我单步调试调试器中的代码,我会看到在模板字段正确显示的情况下,调试器会在显示名称的行上停止。在字段全部为空的情况下,它会跳过代码以显示这些字段的内容;并且没有任何明显的原因。
似乎导致问题的唯一原因是从查询字符串中设置了一个枚举值(它告诉页面要加载哪些数据)。当枚举值设置为1时,我从来没有看到这个错误,但是当枚举值设置为2时,我似乎总是看到它。
但是,枚举从未在我的 gridview 代码中的任何地方引用过。
无论如何,始终调用 GridView.DataSource = x 并且始终调用 GridView.DataBind()。我尝试单步执行代码并检查数据库中的数据是否正确。我已经尝试调试从中调用 DataBind 的代码块以及 GridViewRow_DataBound 事件处理程序。
我在其他地方看到过有关 TemplateField 问题的其他帖子,但似乎都没有解决这里发生的事情。
有任何想法吗?
asp.net - 如何使用自定义 ID 在模板字段 Gridview 中访问控制
我有一个自定义的 gridview。我的网格只需在标题中单击 1 次即可对每一列进行排序,而无需用户(程序员)进行任何设置和重载方法,例如排序等。(我成功地做到了并且工作正常)用户(程序员)可能会在网格中添加每一列。例如模板字段、超链接字段、绑定字段...。对于排序,我必须访问列的数据字段。我可以通过此代码访问 boundfield 列。我可以访问数据字段和标题文本以及...示例:
但我可以访问模板字段中的控制。例如 ColumnBound。样本:
我想访问 "Name" (Bind ("Name") 或 Eval ("Name")) 。我怎样才能?有一点:我现在不知道模板字段中控件的 ID(在本例中为“Label1”)是什么。特别感谢
c# - 如何编写自定义模板字段,如 DataControlField
我正在使用 aGridView
来显示其中一个数据列具有 type 的数据DateTimeOffset
。为了在用户的时区显示日期和时间,我将用户的时区偏好保存到他或她的个人资料(属性值键“TimezoneOffset”),并且在格式化日期和时间时需要访问它。
如果我要使用模板字段,那么我需要编写:
这太复杂且不可重用。
我尝试向TimeSpan
代码隐藏添加一个属性(至少将其移出数据绑定表达式),但显然视图的代码隐藏属性在<%# ... %>
.
因此,我认为我需要编写一个自定义DataControlField
格式以在用户的时区中格式化日期和时间。
我开始了:
但现在我被困住了。如何输出<abbr class="datetimeoffset"><%# ((DateTimeOffset)Eval("CreatedDate")).ToOffset(userOffsetTimeSpan).ToString("f") %></abbr>
每个单元格的 HTML?
编辑:我一直在阅读一篇题为“前沿:自定义数据控制字段”的文章。到目前为止,我已经添加:
但是虽然文章设置了实例的Text
属性,但TableCell
我想将部分视图呈现到表格单元格中。那可能吗?
c# - 在 GridView 中,如何将多个命令添加到一个项目模板?
我剥离了这个例子以使其简单。我有一个带有模板字段的网格视图。模板字段包含两个按钮和一个标签(它们必须在同一个模板字段中)。我希望第一个按钮将标签文本设置为“Win”,另一个按钮将标签文本设置为“失败”。onrow 命令似乎不是由模板字段中的按钮触发的。我怎样才能做到这一点?
我的gridview代码如下:
和我背后的代码:
提前致谢!
asp.net - ASP.NET GridView 模板字段中的复选框在提交时不保留其值
我正在尝试在 GridView 的 TemplateField 中使用 CheckBoxes 从该 GridView 中选择多个条目。GridView 的数据源是在页面加载时生成的项目列表。
问题是,当我按下提交按钮时,所有 CheckBox 都返回 Checked 属性为“false”。
为了在行中循环,我使用:
我应该使用什么才能访问正确的值?
谢谢,卡塔林
asp.net - 将 `GridView` 的 ItemTemplate 输出简化为常规
我将 aTemplateField
用于列,因为我需要HeaderTemplate
. 但是,ItemTemplate
将单元格的内容呈现为 an <asp:Label>
,输出如下所示:
有什么方法可以使ItemTemplate
单元格的内容只呈现出来,以便输出看起来像这样:
感谢您的任何建议。
c# - 在asp.net的gridview中按Id隐藏列
我有 asp.net 应用程序,其中有可编辑的网格视图,其中包含编辑、删除、添加选项。这个网格有像往常一样的模板字段。我想隐藏一些列。我知道我可以通过使用列索引来做到这一点。但我不想跟随它。相反,我想按 ID 隐藏列。这是因为如果在我的应用程序中进一步需要添加更多列,则需要更改代码增益并再次在核心中。所以我选择这种方式。我发现的 Bu<asp:TemplateField />
不包含 Id 属性。因此,我无法<asp:TemplateField/>
通过 ID 隐藏。对此有何补救措施?
sorting - 使用模板字段和标题模板进行 GridView 排序
我正在使用 GridView,标题单元格中有一个用于过滤的下拉列表。
并且有用于排序和分页的相关事件处理程序。
现在的问题是,如果我将“SP 名称”文本放在链接按钮中,单击链接时页面会崩溃,否则不会生成要排序的链接。如果我删除 Header Template 字段(全部)并放置一个带有 TemplateField HeaderText 属性的文本,它会按预期工作。有没有办法把它们放在一起?我需要那个下拉列表和排序。
谢谢。
asp.net - ASP.NET 文本框 cssClass 在渲染后在 GridView ItemTemplate 中被覆盖
我在 TemplateField 列中有一个用于 gridview 的文本框。当我为文本框设置 cssClass 属性时,它会被呈现的网页中的“文本框”类覆盖。这是正常行为吗?(.NET 3.5)
作为一种解决方法,我添加了一个“样式”属性。