如何以声明方式使用数据绑定参数创建 RouteUrls?

2023-12-31

我正在使用 ASP.NET 4 中的新路由功能(Web 表单,而不是 MVC)。现在我有一个绑定到数据源的 asp:ListView。其中一个属性是ClientID我想用它从 ListView 项目链接到另一个页面。在global.asax我定义了一条路线:

System.Web.Routing.RouteTable.Routes.MapPageRoute("ClientRoute",
    "MyClientPage/{ClientID}", "~/Client.aspx");

例如http://server/MyClientPage/2如果 ClientID=2 存在,则为有效 URL。

在 ListView 项目中,我有一个 asp:HyperLink,以便我可以创建链接:

<asp:HyperLink ID="HyperLinkClient" runat="server" 
    NavigateUrl='<%# "~/MyClientPage/"+Eval("ClientID") %>' >
    Go to Client details
</asp:HyperLink>

虽然这有效,但我更喜欢使用 RouteName 而不是通过使用 RouteUrl 表达式来硬编码路由。例如,使用常量 ClientID=2 我可以写:

<asp:HyperLink ID="HyperLinkClient" runat="server" 
    NavigateUrl="<%$ RouteUrl:ClientID=2,RouteName=ClientRoute %>" >
    Go to Client details
</asp:HyperLink>

现在我想知道是否可以结合路由表达式语法和数据绑定语法。基本上我喜欢替换常量2上面由<%# Eval("ClientID") %>。但以一种天真的方式这样做......

<asp:HyperLink ID="HyperLinkClient" runat="server" 
    NavigateUrl='<%$ RouteUrl:ClientID=<%# Eval("ClientID") %>,RouteName=ClientRoute %>' >
    Go to Client details
</asp:HyperLink>

...不起作用:<%# Eval("ClientID") %>不被评估但被视为字符串。到目前为止,使用几种引号也没有帮助(大多数情况下是解析器错误)。

问题:我在这里想要实现的目标是否可能实现?如果是,正确的方法是什么?

先感谢您!


Use System.Web.UI.Control.GetRouteUrl http://msdn.microsoft.com/en-us/library/dd992877.aspx:

VB:

<asp:HyperLink ID="HyperLinkClient" runat="server"  
    NavigateUrl='<%# GetRouteUrl("ClientRoute", New With {.ClientID = Eval("ClientID")}) %>' > 
    Go to Client details 
</asp:HyperLink>

C#:

<asp:HyperLink ID="HyperLinkClient" runat="server"  
    NavigateUrl='<%# GetRouteUrl("ClientRoute", new {ClientID = Eval("ClientID")}) %>' > 
    Go to Client details 
</asp:HyperLink>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以声明方式使用数据绑定参数创建 RouteUrls? 的相关文章

随机推荐

  • system()的返回值不是执行程序的返回值

    我想执行一个可执行文件 其 main 返回 2 使用system 这就是我所做的 include
  • 无法添加服务引用 - 锁定/只读

    每当我去添加服务引用时 我都会收到错误 无法添加服务引用 Servicereference1 reference 错误 无法签出当前文件 该文件可能是只读的或锁定的 或者您可能需要手动检出该文件 我的项目中已经有一个服务引用 但它以某种方式
  • 如何通过 iPhone 中的 Graph API 在 facebook 上“点赞”和“评论”?

    我正在使用 graph api 显示新闻源 我对以下问题有疑问 我想为每个新闻提要帖子提供 喜欢 功能 我想为每个新闻提要帖子提供 评论 功能 有人可以帮助我如何使用 iphone 中的图形 api 解决这个问题吗 请参考我这里的回答 如何
  • 如何识别ODF文件?

    我需要能够根据文件的内容而不是文件的扩展名来识别给定文件是 ODF 文件 ODF 文件实际上是 zip 容器中 XML 文件的集合 这意味着我无法使用该文件的幻数 因为它只会表明它是一个 zip 文件 所以我真正要问的是是否有任何文件req
  • 如何检测USB键盘是否插入和拔出

    当 USB 键盘从电脑上插入和拔出时 是否有任何守护进程 工具会触发一些信号 事件 我需要在程序中知道 USB 键盘何时插入和拔出 关于如何做到这一点有什么想法吗 udev Linux 设备管理器 是轮询硬件的管理器 当它检测到有关设备的某
  • 带有 Qt::AlignCenter 的 QPainter 无法正确居中文本

    我想做一个相当简单的绘图 在圆的中心写下两段文字 我的代码 painter gt drawText QRectF 0 0 m iSize m iSize Qt AlignCenter m sAlias n m sCode where m i
  • 会话路由#destroy 操作

    我链接到会话控制器的销毁操作 如下所示 路线 rb resources sessions only new create destroy Rails 对上面的链接进行了抱怨 没有路由匹配 action gt destroy controll
  • 使用 Linq 动态添加条件连接

    我有一个基本的搜索控件 它根据下拉列表提供的预定义搜索 过滤条件列出 CRM 中的公司 每个下拉菜单的默认选择是 全部 否则用户将选择特定的项目 我希望能够根据选择动态构建 Linq 查询 在 5 个选择器中 它们提供了我可以与 Compa
  • 使用 MockMvc 测试重定向 URL 的 HTTP 状态代码

    我想使用 MockMvc 在 Spring Boot 应用程序中测试登录过程 成功登录后 用户将被重定向到 home 为了测试这一点 我使用 Test public void testLogin throws Exception Reque
  • 数据结构中的自引用 - 检查相等性

    在我最初尝试创建不相交集数据结构时 我创建了一个Point数据类型与parent指向另一个的指针Point data Point a Point value a parent Point a rank Int 要创建单例集 Point创建它
  • 捕获所有无效 URL

    我最近升级了一个网站 几乎所有 URL 都发生了变化 我已经重定向了所有这些 或者我希望如此 但其中一些可能已经被我忽略了 有没有办法以某种方式捕获所有无效 URL 并将用户发送到某个页面 并以某种方式知道该人来自哪个 URL 以便我可以记
  • 在 TextMate 中,我无法使用 Rails tmbundle 创建部分

    Applications TextMate app Contents SharedSupport Support lib ui rb 355 in to plist An object in the argument tree could
  • PyCharm 能否以正确的顺序显示变量的字段?

    我定义了一个有几个字段的数据类 当我打印它时 它们以正确的顺序显示 def test dataclass class Image width int height int pixels object image Image width 4
  • 多线程感知模式下的 BOOST 库

    可以在所谓的线程感知模式下编译 BOOST 库 如果是这样 您将看到 mt 出现在库名称中 我不明白它给了我什么以及我什么时候需要使用这种模式 它给我带来任何好处吗 更重要的是 我对在无线程感知机制中编译 BOOST Threads 库 名
  • 如何使react swiper在垂直方向滑动

    我想让主页就像我可以在莫伊莱视图中一次滑动一篇文章一样 我尝试过反应滑动器 但反应滑动器正在水平滑动帖子 我想垂直滑动帖子 知道如何制作吗 你可以给它方向 只需像这样添加方向道具
  • python有比较和交换操作吗

    试图找到python是否支持CAS操作 无锁编程 像java中的并发 Python没有这些操作 Java 具有比 Python 更复杂的并发控制 CPython 几乎每个人都使用的典型实现 有一个您需要了解的全局解释器锁 Jython 是
  • Groovy 安全取消引用运算符 (?.) 的最佳 Scala 模仿?

    我想知道 Groovy 的最好的 Scala 模仿是什么安全取消引用运算符 http groovy codehaus org Null Object Pattern 或者至少有一些接近的替代品是 I ve 简要讨论一下 http www c
  • 带/多个条件赋值

    让我们来一个M 10 x 4 x 12 矩阵 作为例子 我以M 4 val 4 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1
  • 访问未定义的子类型时自定义编译错误消息

    我有一些类型 其中每个类型都有相同名称的子类型 struct TypeA typedef int subtype struct TypeB typedef float subtype 以及没有此子类型但在同一上下文中使用的类型 struct
  • 如何以声明方式使用数据绑定参数创建 RouteUrls?

    我正在使用 ASP NET 4 中的新路由功能 Web 表单 而不是 MVC 现在我有一个绑定到数据源的 asp ListView 其中一个属性是ClientID我想用它从 ListView 项目链接到另一个页面 在global asax我