我正在通过 linq to sql 调用一个巨大的存储过程,它会返回一些从 0 到 9 的编号数据。我希望能够将任何零显示为空值(因此没有超链接)。我可以在我的存储过程中执行此操作,但这会使阅读和维护变得非常困难(有很多案例逻辑在进行)。
我有以下代码将我的 procs 结果链接到 linqdatasource。有没有一种方法可以通过在绑定(bind)之前或之后在超链接上格式化数据来更新所有记录?
protected void LinqMainMenu_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var db = new App_Data.MYAppDataContext();
e.Result = db.sp_MainMenuTest( (Int16)Session["myid"]);
}
谢谢
最佳答案
您可以通过执行以下操作来重新格式化结果:
e.Result = db.sp_MainMenuTest( (Int16)Session["myid"]).Select(i => new
{
Field = (i.Field == 0) ? null : i.Field
});
如果您不能使用这种方法,您可以始终在 GridView.RowDataBound 事件处理程序中执行此操作,获取单元格值,如果为零,则重新格式化。
HTH.
关于c# - asp.hyperlink in gridview Format 0 as null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143999/