C# 如何在没有数据字段的gridview中创建超链接?
在:c#asp.net web forms 4.5中开发 我看过很多帖子,它们都制作了一个超链接,其中包含datafield、by datatextfield()或类似内容。。或者从后端调用eval。 这两件事我都没有做,所以我尽我所能去做,但都没用。命令字段,超链接字段,超链接。。一切都不管用 主要的一点是数据出来的很好,但我似乎不能让它超链接。这样的超链接是不可能的吗 我正在尝试在gridview上创建超链接。 问题是我要制作超链接的专栏 不从数据字段获取数据 它通过gridview的onRowDataBound方法获取它 像这样的C# 如何在没有数据字段的gridview中创建超链接?,c#,asp.net,gridview,webforms,.net-4.5,C#,Asp.net,Gridview,Webforms,.net 4.5,在:c#asp.net web forms 4.5中开发 我看过很多帖子,它们都制作了一个超链接,其中包含datafield、by datatextfield()或类似内容。。或者从后端调用eval。 这两件事我都没有做,所以我尽我所能去做,但都没用。命令字段,超链接字段,超链接。。一切都不管用 主要的一点是数据出来的很好,但我似乎不能让它超链接。这样的超链接是不可能的吗 我正在尝试在gridview上创建超链接。 问题是我要制作超链接的专栏 不从数据字段获取数据 它通过gridview的onR
<asp:GridView runat="server" ID="someGrid" CellPadding="10"
DataKeyNames="idx" AutoGenerateColumns="false"
selectMethod="someGrid_GetData" ItemType="someTable"
updateMethod="someGrid_UpdateItem" AutoGenerateEditButton="true"
deleteMethod="someGrid_DeleteItem" AutoGenerateDeleteButton="true"
onRowDataBound="someGrid_RowDataBound">
<Columns>
<asp:BoundField DataField="thing1" HeaderText="thing1" />
<asp:BoundField DataField="thing2" HeaderText="thing2"/>
<asp:DynamicField DataField="poDate" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="vendor" />
<asp:CommandField HeaderText="sku" ShowSelectButton="true" SelectText="{0}" ButtonType="Link"/>
</Columns>
</asp:GridView>
protected void soGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
using (soAction soa = new soAction())
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string s = e.Row.Cells[2].Text;
string thin1 = soa.get_thin1(s);
e.Row.Cells[4].Text = thin1;
string thin2 = soa.get_thin2(s);
e.Row.Cells[5].Text = thin2;
}
}
}
谢谢
编辑:
也许我不清楚这里的挑战是什么。。
通常,示例在gridview中使用dataTextField属性,但
我无法使用dataTextField属性,因为我正在绑定数据
取决于随后渲染的模型。
我这样做是因为我想将itemType设置为someTable
因此,我可以使用asp.net的updatemethod和deleteMethod。只需使用这样的TemplateField,就可以在TemplateField中执行任何操作,组合多列数据,创建控件,等等:
<Columns>
<asp:TemplateField HeaderText="FirstName" SortExpression="FirstName">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"
Text='<%# Bind("FirstName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server"
Text='<%# Bind("FirstName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
在新DataGridViewLinkColumn()上进行谷歌搜索代码>对于示例,它非常简单forward@MethodMan谢谢你,伙计。行。这就是Google.com
的目的。。别人和你自己都应该养成这样的习惯,也就是说先搜索。。问second@MethodMan我认为我们不能使用DataGridViewLinkColumn。。是给winForm的,对吧?我正在构建一个web表单asp.net 4.5版本,但我无法在此处导入它…好的,然后在谷歌上搜索使用asp.net web表单的示例。。来吧,这正是我需要的。我只是在你发这篇文章之前想出来的。谢谢,但是如果你早点发这个,我至少可以省下一天的时间。不过还是谢谢你。