1. DataRowView drv=ds.Tables["TableName"].DefaultView[0] 上句按我理解应该是根据DataSet中的"TableName"表生成一个DataRow视图表,但是后面的DefaultView[0]是什么意思?我在网上查过DefaultView的用法,不过没发现DefaultView[0]这样的用法啊……顺便问问,DefaultView的用法~ 2. GridView控件里添加一HyperLinkField列,DataNavigateUrlFormatString属性设置为page.aspx?id={0}是什么意思?问题还是那个{0}代表什么? 3. 什么时候用Control.ToString来将其转化为字符串,什么时候用Convert.ToString(Control)?什么时候用(String)Control?他们之间的区别是什么?
 
在百度Asp.Net吧提问未果才来CSDN求助的~

解决方案 »

  1.   

     
     1、貌似我没这样用过DefaultView[0] ,等高手来....
     2、 格式字符串可以为任意字符串,并且通常包含字段值的占位符。
       例如:<asp:HyperLinkField DataNavigateUrlFields="productid" DataNavigateUrlFormatString="{0:c}"
                        DataTextField="Price" DataTextFormatString="page.aspx?id={0}" />
       {0} 占位符会被 HyperLinkField 对象中的 "productid" 替换。格式字符串的剩余部分显示为文本。连接地址实际上为page.aspx?id=productid(当然这里应该是绑定的值)
      

  2.   

    1.默认视图,就是Datatable的原貌
    2.格式化参数.解释同上,类似于string.format("param1","param2") 楼主可以查一查,各个参数的含义
    3.问题不详细
    应该是一样的  .ToString和convert.Tostring
      

  3.   

    继续问……感觉自己分给得少了,下次发问从100起价吧……1.是指用DefaultView[0]得到默认视图么?如果是,那跟DefaultView有什么区别?2.0是格式化参数,是不是在这里只能用0来做占位字符,比如我要绑定一个值就必须是page.aspx?id={0},绑定两个值就是page.aspx?id={0}&name={0}?3.但是很多时候只能用Convert.ToString而不能用.ToString,既然没区别的话那该怎么知道什么时候用Convert.ToString,什么时候用.ToString,什么时候用(string)呢?看书看得一肚子郁闷,有没有比较系统的.NET教程么?
      

  4.   

    1. 是指用DefaultView[0]得到默认视图么?如果是,那跟DefaultView有什么区别? 
    ==
    只用过DefaultView2. 0是格式化参数,是不是在这里只能用0来做占位字符,比如我要绑定一个值就必须是page.aspx?id={0},绑定两个值就是page.aspx?id={0}&name={0}? 
    ==
    绑定两个值是 page.aspx?id={0}&name={1}3. 但是很多时候只能用Convert.ToString而不能用.ToString,既然没区别的话那该怎么知道什么时候用Convert.ToString,什么时候用.ToString,什么时候用(string)呢? 
    ==
    这两者感觉没什么区别,唯一需要注意的是ToString的对象千万不能是null,否则会报System.NullReferenceException看书看得一肚子郁闷,有没有比较系统的.NET教程么? 
    ==
    任何一个教程都不能把所有的细节讲到
      

  5.   

    . 0是格式化参数,是不是在这里只能用0来做占位字符,比如我要绑定一个值就必须是page.aspx?id={0},绑定两个值就是page.aspx?id={0}&name={0}? 
    对,就是占位符,当然占位符标记应该是有区分的。
    page.aspx?id={0}&name={1}当是可解析为字符串的对象时,用ToString当是其它数据小类型,如int,float,datatime,,,可以用convert.tostring
    注:ToString一般是获得对象名,往往需要重载得到你想要的东西。
      

  6.   

    我来解释下楼主的第1个问题吧,以前我也碰到过这样的问题,经过多方求解得到结论
    DefaultView[0] 
    代表DefaultView视图中的第一行,如果你看下前面的类型(DataRowView)或许就能明白点了,是的,以前我也碰到过类似的问题,希望对楼主有帮助!
      

  7.   

    多谢大家的热心回答,大部分我已经基本弄懂了,还有最后一个地方,就是第二个问:page.aspx?id={0}的0是占位符这个我理解了,也理解了如果使用多个占位符需要有所区别,那么这个占位符是不是像形参一样可以使用任意字符或字符串呢?还是说第一个占位符就一定得使用0,第二个使用1……,可不可以使用其他字符代替?另,占位符的位数是不是跟绑定的数据位数相对应?如果真的跟形参的定义如出一辙基本就没什么问题了……再次感谢大家的热心回答~