vb.net中c#中的 o Is LinkButton 怎么写

haonanernet 2005-08-04 03:23:42
我用c#翻译成vb.net
private void grid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{

ListItemType elemType = e.Item.ItemType;
//定制分页导航行,样式为[1] [2] 第 3 页 [4]
if (elemType == ListItemType.Pager)
{

TableCell pager = (TableCell) e.Item.Controls[0];

for (int i=0; i<pager.Controls.Count; i+=2)
{
Object o = pager.Controls[i];
if (o is LinkButton)
{
LinkButton h = (LinkButton) o;
h.Text = "[ " + h.Text + " ]";
}
else
{
Label l = (Label) o;
l.Text = "第" + l.Text + “页”;
}
}
}
}
翻译代码如下:


Private Sub dgSortReport_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgSortReport.ItemCreated
If e.Item.ItemType = ListItemType.Pager Then
Dim pager As TableCell = CType(e.Item.Controls(0), TableCell)
Dim i As Integer
For i = 0 To pager.Controls.Count Step 2

Dim o As Object = CType(pager.Controls(i), Object)
If o Is LinkButton Then

Dim h As LinkButton = CType(o, LinkButton)
h.Text = "[ " + h.Text + " ]"

Else
Dim l As Label = CType(o, Label)
l.Text = "第" + l.Text + "页"
End If
Next i
End If
End Sub

其中 o Is LinkButton 报错说LinkButton是一种类型,不能用做表达式

那应该怎么写不错呢?请指教
...全文
85 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
g555 2005-08-04
  • 打赏
  • 举报
回复
o is LinkButton

if typeof(o) is LinkButton then

end if
haonanernet 2005-08-04
  • 打赏
  • 举报
回复
谢谢楼上,报同样的错
pupo 2005-08-04
  • 打赏
  • 举报
回复
用 o.GetType.Name 判断一下看
ASP.NET实现Gridview隐藏/显示列源码 介绍: 这篇文章演示如果让用户有显示/隐藏他们需要的GridView的列的功能,这是非常有用的,因为在GridView的所有列并不是每个的用户都需要的.用户想根据自己的需求看到想要的列.而不是显示一个巨大的gridview,霸占了整个屏幕,而是一个整洁的Gridview,而且它有所有你需要的列.对于页面的打印这也是一个非常有用的技术,因为用户可以灵活地选择GridView的列打印。 背景: RowCreated 和ItemDataBound 事件允许你用多种方式注入HTML, CSS,和JavaScript 来增强GridView 控件的功能。 文章将会演示两种显示和隐藏GridView列的方法,一种是客户端的方法,另外一种是服务段的方法. 在客户段显示和隐藏GridView的列 大部分代码是在GridView的RowCreated事件生成客户端的功能的。当GridView的Header行被创建后,一个带负号的HyperLink被插入每个Header行的单元格用来隐藏列。 这个hyperlink通过它的onclick事件调用一个HideCol的Javascript方法,CSS类用来增加负号的大小,当每个数据行被创建的时候,一个Id将会被添加到每行用来让Javascript区分每一行. 代码 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { GridView gridView = (GridView)sender; StringBuilder sb = new StringBuilder(); // For the header row add a link to each header // cell which can call the HideCol javascript method if (e.Row.RowType == DataControlRowType.Header) { // Loop through each cell of the row for (int columnIndex = 0; columnIndex 0) { Label columnTextLabel = new Label(); columnTextLabel.Text = e.Row.Cells[columnIndex].Text; e.Row.Cells[columnIndex].Controls.Add(columnTextLabel); } } } // Give each row an id if (e.Row.RowType == DataControlRowType.Pager) e.Row.Attributes.Add("id", gridView.ClientID + "_pager"); else e.Row.Attributes.Add("id", gridView.ClientID + "_r" + e.Row.RowIndex.ToString()); } SetupShowHideColumns方法生成“Show Columns”下拉菜单的HTML,输出在Literal控件上面 。 代码 private void SetupShowHideColumns(GridView gridView, Literal showHideColumnsLiteral) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append("- Show Column -"); showHideColumnsLiteral.Text = sb.ToString(); } 在数据绑定到GridView之后,其余的工作由ShowHideColumns.js的javascript来完成.当列头的hyperlink被点击的时候后,它将会传递GridView的名字,列的索引和列名给HideCol方法,这个方法能找到这一列的每个单元格,每个单元格的将添加display:none样式,用来隐藏这一列. 当选择"Show Column"的选项后,Javascript方法ShowCol将会被调用,它将移除每个单元格的display:none样式,这一列将会被再次显示. 在服务端显示/隐藏GridView的列 服务端的例子将通过RowCreated事件给每个列头添加一个负号,这次是使用LinkButton控件.设置CommandName和CommandArgument属性,这样当通过LinkButton引发RowCommand事件时,相关的列都可以隐藏。以前隐藏的列索引存储在一个List,这些列在建立时,将会被隐藏的。 代码 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { // For the header row add a link button to each header // cell which can execute a row command if (e.Row.RowType == DataControlRowType.Header) { // Loop through each cell of the header row for (int columnIndex = 0; columnIndex 0) { Label columnTextLabel = new Label(); columnTextLabel.Text = e.Row.Cells[columnIndex].Text; e.Row.Cells[columnIndex].Controls.Add(columnTextLabel); } } } // Hide the column indexes which have been stored in hiddenColumnIndexes foreach(int columnIndex in hiddenColumnIndexes) if (columnIndex 0) { this.GridView1ShowHideColumns.Visible = true; this.GridView1ShowHideColumns.Items.Add(new ListItem("-Show Column-", "-1")); foreach (int i in hiddenColumnIndexes) this.GridView1ShowHideColumns.Items.Add( new ListItem(columnNames[i], i.ToString())); } else { this.GridView1ShowHideColumns.Visible = false; } } 示例项目的例子: 客户端的例子: •C#.NET - Client-side example accessing data stored in session. •C#.NET - Client-side example which includes: MasterPage, UpdatePanel, GridView editing, paging and sorting, accessing data via the SqlDataSource control. •VB.NET - Client-side example accessing data stored in session. 服务端的例子 •C#.NET - Server-side example accessing data stored in session. •C#.NET - Server-side example which includes: MasterPage, UpdatePanel, GridView editing, paging and sorting, accessing data via the SqlDataSource control. •VB.NET - Server-side example accessing data stored in session. 结论: 如果你想让你的用户能够显示和隐藏在ASP.NET GridView的列,那么这种技术可能是非常有用的。 原文:http://www.codeproject.com/KB/webforms/ShowHideGridviewColumns.aspx 作者:朱祁林 出处:http://zhuqil.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
第一部分 构建ASP.NET页面 第1章 ASP.NET Framework概览 2 1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解和处理控件事件 12 1.2.4 视图状态 17 1.3 ASP.NET页面 20 1.3.1 动态编译 20 1.3.2 控件树 23 1.3.3 使用代码隐藏页面 24 1.3.4 处理页面事件 27 1.3.5 使用Page.IsPostBack属性 29 1.3.6 调试和跟踪ASP.NET页面 30 1.3.7 跟踪页面执行 33 1.4 安装ASP.NET Framework 35 1.5 小结 37 第2章 使用标准控件 38 2.1 显示信息 38 2.1.1 使用Label控件 38 2.1.2 使用Literal控件 42 2.2 接收用户输入 44 2.2.1 使用TextBox控件 44 2.2.2 使用CheckBox控件 50 2.2.3 使用RadioButton控件 52 2.3 提交表单数据 55 2.3.1 使用Button控件 55 2.3.2 使用LinkButton控件 57 2.3.3 使用ImageButton控件 59 2.3.4 Button控件使用客户端脚本 62 2.3.5 执行跨页面发送 64 2.3.6 指定默认按钮 67 2.3.7 处理Command事件 68 2.4 显示图像 70 2.4.1 使用Image控件 70 2.4.2 使用ImageMap控件 71 2.5 使用Panel控件 75 2.6 使用HyperLink控件 79 2.7 小结 81 第3章 使用验证控件 82 3.1 验证控件概述 82 3.1.1 验证控件与JavaScript 85 3.1.2 使用Page.IsValid 85 3.1.3 设置Display属性 86 3.1.4 突出显示验证错误 86 3.1.5 使用验证组 90 3.1.6 禁用验证 93 3.2 使用RequiredFieldValidator控件 94 3.3 使用RangeValidator控件 97 3.4 使用CompareValidator控件 99 3.5 使用RegularExpressionValidator控件 103 3.6 使用CustomValidator控件 105 3.7 使用ValidationSummary控件 111 3.8 创建自定义验证控件 114 3.8.1 创建LengthValidator控件 115 3.8.2 创建AjaxValidator控件 117 3.9 小结 121 第4章 使用Rich控件 122 4.1 接收上传文件 122 4.1.1 把文件保存到文件系统 123 4.1.2 把文件保存到数据库 125 4.1.3 上传大文件 128 4.2 显示日历 133 4.2.1 创建弹出式日期选择器 135 4.2.2 根据数据库表呈现日历 137 4.3 显示广告 141 4.3.1 在XML文件保存广告 141 4.3.2 在数据库表存储广告 144 4.3.3 跟踪显示和转到 145 4.4 显示不同的页面视图 149 4.4.1 显示选项卡式页面视图 149 4.4.2 显示多部分表单 152 4.5 显示向导 153 4.6 小结 157 第二部分 设计ASP.NET网站 第5章 使用母版页设计网站 160 5.1 创建母版页 160 5.1.1 创建默认内容 163 5.1.2 嵌套母版页 166 5.1.3 在母版页使用图片和超链接 170 5.1.4 在Web配置文件注册母版页 172 5.2 修改母版页内容 172 5.2.1 使用Title属性 173 5.

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧