c# - asp.hyperlink in gridview Format 0 as null

标签 c# asp.net

我正在通过 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/

相关文章:

c# - 绑定(bind)源时选中/取消选中 gridview 中的复选框

c# - char 的 a += b 运算符实现与 a = a + b 相同吗?

C#,如何简单地改变类成员的顺序

c# - 在 iis 和 asp.net 中支持虚 url 所需的工作流

javascript - 如何将JSON格式的日期字符串解析成日期格式

c# - 如何消除 LINQ 查询语法 foreach 中的变量声明?

c# - 如何在 C# 中将 1234.5678 转换为 1234.56?

c# - 如何避免这个 "A potentially dangerous Request"

c# - 如何在图表底部放置标签

c# - 向项目中添加 OData 连接服务失败 : Value cannot be null. 参数名称:path1