none
下面这段代码中的ID,和id{0}分别是啥意思? RRS feed

  • 问题

  • <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="particular.aspx?id={0}"
                                        HeaderText="查看详细信息" NavigateUrl="~/particular.aspx" Text="详细信息" />

    这里的ID,是否是从同一页面中取出来的
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:mr_08ConnectionString2 %>"
                                SelectCommand="SELECT * FROM [MerchandiseInfo]"></asp:SqlDataSource>的值?

    maiyude
    2009年12月26日 3:29

答案

  • 你好,DataNavigateUrlFormatString 是一个格式定义,{0}是一个占位符,用来代替DataNavigateUrlFields的数据。
    • 已标记为答案 maiyude 2009年12月26日 5:58
    2009年12月26日 4:33
    版主
  • {1} 相当于第二个占位符。


    String s = String.Format("particular.aspx?id={0}&name={1}", 1, "maiyude"); // s 为particular.aspx?id=1&name= maiyude

    知识改变命运,奋斗成就人生!
    • 已标记为答案 maiyude 2009年12月26日 5:54
    2009年12月26日 5:50
    版主

全部回复

  • 你好!

    DataNavigateUrlFields="ID" 中的 ID 是数据源的字段。
    particular.aspx?id={0} 中的 ID 是 URL 参数标实。对应页面可以用 Request.QueryString["ID"] 来获取。
    particular.aspx?id={0} 中的 {0} 相当于占位符,最终会被数据源 Id 字段的值替换掉。我们常使用的 String.Format 也是使用同样的方式。

    如 String s = String.Format("particular.aspx?id={0}", 1); // s 为particular.aspx?id=1

    知识改变命运,奋斗成就人生!
    • 已建议为答案 mldark 2009年12月26日 3:51
    2009年12月26日 3:36
    版主
  • 你好,DataNavigateUrlFormatString 是一个格式定义,{0}是一个占位符,用来代替DataNavigateUrlFields的数据。
    • 已标记为答案 maiyude 2009年12月26日 5:58
    2009年12月26日 4:33
    版主
  • 谢谢各位大大的指点。偶看见有的代码用{1},这又是啥意思呢?偶太笨了,汗。。。
    maiyude
    2009年12月26日 5:31
  • {1} 相当于第二个占位符。


    String s = String.Format("particular.aspx?id={0}&name={1}", 1, "maiyude"); // s 为particular.aspx?id=1&name= maiyude

    知识改变命运,奋斗成就人生!
    • 已标记为答案 maiyude 2009年12月26日 5:54
    2009年12月26日 5:50
    版主
  • 非常感谢
    maiyude
    2009年12月26日 5:55